Fehlende Abhängigkeiten in IronPDF Lambda Bereitstellung
IronPDF kann bei der Bereitstellung auf AWS Lambda nicht initialisieren und erzeugt Fehler ähnlich zu:
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.
Fehlende native Abhängigkeiten in Lambda-Bereitstellungen werden durch eine oder mehrere der folgenden Ursachen ausgelöst:
- Fehlende Berechtigungen: Die Lambda-Ausführungsrolle oder der Dateisystempfad fehlen Lese-/Schreib-/Ausführungsberechtigungen, die von IronPDF benötigt werden.
- Fehlende native Binärdateien: Nativen IronPDF-Bibliotheken wurden nicht im Bereitstellungspaket enthalten.
- Falsches Dockerfile: Das Dockerfile installiert nicht die richtigen OS-Level-Abhängigkeiten für das Lambda-Basisimage.
Lösung
Wechseln Sie zum IronPdf.Slim NuGet-Paket. Im Gegensatz zum vollständigen IronPDF-Paket lädt IronPdf.Slim automatisch die richtigen nativen Binärdateien für das erkannte Basis-Image zur Laufzeit herunter, was die Notwendigkeit eliminiert, plattformspezifische Binärdateien manuell zu bündeln:
// 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")
Direkt in Lambda testen: Verlassen Sie sich nicht auf lokale Tests, um die native Abhängigkeitsauflösung zu überprüfen. Wenn das Projekt lokal ausgeführt wird, werden Windows-kompatible oder host-OS-kompatible Binärdateien anstelle von Lambda-kompatiblen heruntergeladen, was zu einem falschen Pass führt.
Rufen Sie Protokolldateien von AWS ab, um Diagnoseinformationen zu erhalten, wenn das Problem nach dem Wechsel zu IronPdf.Slim weiterhin besteht. Aktivieren Sie das Logging vor dem ersten IronPDF-Aufruf:
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
Fügen Sie /tmp/ironpdf.log und das Lambda CloudWatch-Protokollausgabe Ihrer Supportanfrage bei. Siehe auch: Bereitstellung von IronPDF auf AWS Lambda mit Docker und wie man IronPDF-Protokolldateien in AWS erhält.

