IronPDF Lambda Dağıtımında Eksik Bağımlılıklar
IronPDF, AWS Lambda'ya dağıtıldığında başlatılamıyor ve benzer hatalar üretiyor:
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 dağıtımlarında eksik yerel bağımlılıklar, aşağıdakilerden bir veya daha fazlasından kaynaklanır:
- Eksik izinler: Lambda yürütme rolü veya dosya sistemi yolu, IronPDF tarafından gerekli olan Okuma/Yazma/Çalıştırma izinlerinden yoksundur.
- Yerel ikili dosyaların yokluğu: yerel IronPDF kütüphaneleri dağıtım paketine dahil edilmedi.
- Yanlış Dockerfile: Dockerfile, Lambda tabanlı imaj için doğru OS seviyesinde bağımlılıkları yüklemiyor.
Çözüm
NuGet paketini IronPdf.Slim olarak değiştirin. Tam IronPDF paketinin aksine, IronPdf.Slim çalışma zamanında algılanan temel görüntü için doğru yerel ikili dosyaları otomatik olarak indirir ve platforma özgü ikili dosyaları manuel olarak paketleme gereksinimini ortadan kaldırır:
// 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")
Doğrudan Lambda'da test edin: yerel testi, yerel bağımlılık çözümlemesini doğrulamak için kullanmayın. Projeyi yerel olarak çalıştırmak, Lambda uyumlu olanlar yerine Windows uyumlu veya ana bilgisayar işletim sistemi ile uyumlu ikili dosyaları indirir ve yanlış bir olumlu sonuç üretir.
Günlük dosyalarını AWS'den alın ve sorun IronPdf.Slim'e geçtikten sonra devam ederse tanı detayları için kullanın. İlk IronPDF çağrısından önce günlüklemeyi etkinleştirin:
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
Destek talebinize /tmp/ironpdf.log ve Lambda CloudWatch günlük çıktısını ekleyin. Ayrıca bkz.: IronPDF'yi AWS Lambda'ya Docker ile dağıtmak ve AWS'de IronPDF günlük dosyalarını nasıl alacağınız.

