Brakujące zależności przy wdrażaniu IronPDF w Lambda
IronPDF nie uruchamia się, gdy jest wdrażany w AWS Lambda, generując błędy podobne do:
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.
Brakujące natywne zależności w wdrożeniach Lambda są spowodowane przez jeden lub więcej z poniższych problemów:
- Brakujące uprawnienia: rola wykonawcza Lambda lub ścieżka systemu plików nie posiada wymaganych przez IronPDF uprawnień do odczytu/zapisu/wykonywania.
- Brak natywnych bibliotek binarnych: natywne biblioteki IronPDF nie zostały uwzględnione w pakiecie wdrożeniowym.
- Niepoprawny Dockerfile: Dockerfile nie instaluje odpowiednich zależności na poziomie systemu operacyjnego dla podstawowego obrazu Lambda.
Rozwiązanie
Przelacz sie na pakiet NuGet IronPdf.Slim. W przeciwienstwie do pelnego pakietu IronPDF, IronPdf.Slim automatycznie pobiera odpowiednie natywne binaria dla wykrytego obrazu bazowego w czasie wykonania, eliminujac koniecznosc recznego dolaczania binariow specyficznych dla platformy:
// 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")
Bezpośrednio testuj w Lambda: nie polegaj na testach lokalnych w celu weryfikacji rozwiązywania natywnych zależności. Uruchomienie projektu lokalnie pobiera binaria kompatybilne z Windows lub systemem hosta zamiast tych kompatybilnych z Lambda, generując fałszywą pozytywną weryfikację.
Pobierz pliki logow z AWS, aby uzyskac szczegolowe informacje diagnostyczne, gdy problem utrzymuje sie po przelaczeniu na IronPdf.Slim. Aktywuj logowanie przed pierwszym wywołaniem 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
Dolacz /tmp/ironpdf.log i output logow Lambda CloudWatch do zapytania wsparcia. Zobacz takze: wdrazanie IronPDF do AWS Lambda z Dockerem i jak uzyskac pliki logow IronPDF w AWS.

