在AWS Lambda上使用IronPDF无需Docker

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

IronPDF可以在AWS Lambda上运行,但仅限于从自定义Docker容器镜像构建的Lambda函数内。 标准的非Docker Lambda运行时缺少IronPDF所需的本地Linux库,因此PDF工作在那失败。

IronPDF依赖于几个本地Linux库,包括:

  • gcc-c++
  • glibc-devel.i686
  • glibc.i686
  • pango.x86_64

这些库在标准AWS Lambda环境中默认不存在。 在没有这些库的情况下,运行IronPDF的非Docker Lambda函数通常会出现以下之一:

Native errors related to missing libraries
Failures in PDF generation or rendering
Crashes or instability when calling IronPdf methods

根本原因是渲染引擎:IronPDF内部驱动Chrome,而Chrome本身依赖于本地Linux组件。 像标准AWS Lambda镜像这样的最小无服务器运行时不附带这些组件,并且无法在运行时可靠安装。

解决方案

在安装所有所需的本地依赖项的自定义Docker容器镜像中部署IronPDF。 这为Lambda提供了一个完全兼容的环境,而不是一个精简的运行时。

FROM public.ecr.aws/lambda/dotnet:8
# install necessary packages
RUN dnf update -y
RUN dnf install -y gcc-c++ pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 dbus-glib-devel
RUN dnf install -y libXdamage.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64
RUN dnf install -y libXrandr.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi
RUN dnf install -y xorg-x11-fonts-75dpi xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc
RUN dnf install -y mesa-libgbm.x86_64
RUN dnf install -y nss-3.90.0-3.amzn2023.0.4.x86_64
WORKDIR /var/task
COPY "bin/Release/lambda-publish"  .
CMD ["AWSLambdaNet8Container::AWSLambdaNet8Container.PrintPdf::FunctionHandler"]

dnf install行引入Chrome渲染依赖项; CMD入口点指向Lambda的发布输出中的函数处理程序。

注意标准AWS Lambda运行时没有Docker,无法运行IronPDF。 使用基于Docker的函数,否则PDF生成将失败。

有关完整的教程,请参阅使用IronPDF在AWS Lambda上创建PDF文件

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

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

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

还在滚动吗?

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