AWS Lambda .NET 8中的IronPDF:缺少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上使用模拟测试工具测试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 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 20,088,359 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPdf
运行示例看着你的HTML代码变成PDF文件。