IronPDF在AWS Lambda .NET 8中:缺少Chromium二進位文件錯誤

This article was translated from English: Does it need improvement?
Translated
View the article in English

當在AWS Lambda .NET 8容器映像中運行IronPDF時,應用程式失敗並出現例外,指示嵌入的Chromium二進位文件無法找到。

IronSoftware.Exceptions.IronSoftwareEmbeddedDeploymentMissingException:
Failed to find embedded resource 'Chrome.linux-x64.zip'

完整的例外堆棧可能顯示為:

Unhandled exception. System.Exception: Error while convert DOCX document to HTML:
IronSoftware.Exceptions.IronSoftwareEmbeddedDeploymentMissingException: Failed to find embedded resource 'Chrome.linux-x64.zip'
   at IronSoftware.Deployment.AssetManager.GetEmbededResourceStream(...)
   at IronSoftware.Deployment.EmbeddedResourceDeployment.Deploy()
   at IronPdf.Engines.Chrome.LocalChromeClient.Initialize()

此錯誤由三個條件引起。 首先,如果AWS Lambda Mock Test Tool在Windows上運行該函式,而Dockerfile針對Linux,則嵌入的資源平台與運行環境不匹配。其次,IronPdf.Slim是僅限Linux的包,當運行環境為Windows時會失敗。 第三,容器基礎映像可能不滿足IronPDF的平臺要求。

解決方案

步驟1:在正確的Linux運行環境上測試

請勿在Windows上使用Mock Test Tool測試Lambda函式。 使用Docker在本地重現Lambda環境:

docker build -t my-lambda-test .
docker run --rm my-lambda-test
docker build -t my-lambda-test .
docker run --rm my-lambda-test
SHELL

步驟2:使用完整的IronPDF包以支持跨平台

如果您需要在Windows和Linux上運行,請使用IronPdf.Slim

Install-Package IronPdf

IronPdf.Slim僅限Linux。 IronPdf包含兩個平臺的嵌入二進位文件。

步驟3:在Dockerfile中安裝Linux依賴項

FROM public.ecr.aws/lambda/dotnet:8

RUN yum install -y \
    pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 \
    libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 \
    libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 \
    atk.x86_64 gtk3.x86_64 ipa-gothic-fonts \
    xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi \
    xorg-x11-utils xorg-x11-fonts-cyrillic \
    xorg-x11-fonts-Type1 xorg-x11-fonts-misc \
    glibc-devel.x86_64 at-spi2-atk.x86_64 mesa-libgbm.x86_64

如需完整的AWS Lambda Docker配置,請參見AWS 部署指南

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備開始了嗎?
Nuget 下載 20,088,359 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想快速獲得證明嗎? PM > Install-Package IronPdf
執行範例 看您的HTML變成PDF。