IronPDF Lambda部署中的缺失依赖项

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

当部署到AWS Lambda时IronPDF无法初始化,产生类似的错误:

IronPDF failed to start: required native binaries not found at the expected path.
Unable to load shared library or one of its dependencies.
Error: Required IronPDF native dependencies were not found in the deployment package.

Lambda部署中缺失本地依赖项的原因如下:

  • 缺少权限:Lambda执行角色或文件系统路径缺少IronPDF所需的读/写/执行权限。
  • 本地二进制文件缺失:本地IronPDF库未包含在部署包中。
  • 不正确的Dockerfile:Dockerfile未安装用于Lambda基础镜像的正确OS级别依赖项。

解决方案

切换到IronPdf.Slim NuGet包。 与完整的IronPDF包不同,IronPdf.Slim在运行时自动下载检测到的基础映像的正确原生二进制文件,消除了手动捆绑特定于平台的二进制文件的需要:

// NuGet: IronPdf.Slim
// IronPdf.Slim selects and downloads the appropriate native runtime
// for the Lambda execution environment automatically.
IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY");

var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Hello from Lambda</h1>");
pdf.SaveAs("/tmp/output.pdf");
// NuGet: IronPdf.Slim
// IronPdf.Slim selects and downloads the appropriate native runtime
// for the Lambda execution environment automatically.
IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY");

var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Hello from Lambda</h1>");
pdf.SaveAs("/tmp/output.pdf");
' NuGet: IronPdf.Slim
' IronPdf.Slim selects and downloads the appropriate native runtime
' for the Lambda execution environment automatically.
IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")

Dim renderer As New ChromePdfRenderer()
Dim pdf = Await renderer.RenderHtmlAsPdfAsync("<h1>Hello from Lambda</h1>")
pdf.SaveAs("/tmp/output.pdf")
$vbLabelText   $csharpLabel

直接在Lambda中测试:不要依赖本地测试来验证本地依赖项的解析。 在本地运行项目下载的是与Windows兼容或与主机OS兼容的二进制文件,而不是与Lambda兼容的,产生误判。

从AWS检索日志文件以获得诊断详细信息,当切换到IronPdf.Slim后问题仍然存在时。 在第一次IronPDF调用之前启用日志记录:

IronPdf.Logging.Logger.EnableDebugging = true;
IronPdf.Logging.Logger.LogFilePath = "/tmp/ironpdf.log";
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
IronPdf.Logging.Logger.EnableDebugging = true;
IronPdf.Logging.Logger.LogFilePath = "/tmp/ironpdf.log";
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
Imports IronPdf.Logging

Logger.EnableDebugging = True
Logger.LogFilePath = "/tmp/ironpdf.log"
Logger.LoggingMode = Logger.LoggingModes.All
$vbLabelText   $csharpLabel

/tmp/ironpdf.log和Lambda CloudWatch日志输出附加到您的支持请求中。另见:将IronPDF部署到AWS Lambda与Docker如何获取AWS中的IronPDF日志文件

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文件。