在AWS Lambda上使用IronPDF无需Docker
IronPDF可以在AWS Lambda上运行,但仅限于从自定义Docker容器镜像构建的Lambda函数内。 标准的非Docker Lambda运行时缺少IronPDF所需的本地Linux库,因此PDF工作在那失败。
IronPDF依赖于几个本地Linux库,包括:
gcc-c++glibc-devel.i686glibc.i686pango.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的发布输出中的函数处理程序。
有关完整的教程,请参阅使用IronPDF在AWS Lambda上创建PDF文件。

