AWS Lambda Docker: libnss3 ve Chrome Dağıtım Hataları

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

IronPDF'i bir Docker konteyner imajı ile AWS Lambda üzerinde dağıtırken, uygulama başlangıçta IronSoftwareDeploymentException hatası veriyor.

IronSoftwareDeploymentException: Multiple issues occurred while trying to deploy Chrome (libnss3.so: cannot open shared object file: No such file or directory)... (Read-only file system: '/var/task/runtimes')

Bu hataya iki sorun neden olur. Öncelikle, IronPDF'in Chrome motoru, Lambda taban görüntüsünde bulunmayan libnss3.so gibi paylaşılan kütüphanelere bağımlıdır. İkincisi, Lambda /var/task/runtimes üzerinde yazma erişimini kısıtlar, bu nedenle IronPDF'in gömülü dağıtım mekanizması, ikili dosyalarını oraya çıkaramaz.

Çözüm

Gerekli Linux paketlerini Dockerfile'da yükleyin, otomatik yapılandırmayı devre dışı bırakın ve IronPDF'in dağıtım dizinini Lambda'daki tek yazılabilir yol olan /tmp'ye yönlendirin.

Dockerfile

FROM public.ecr.aws/lambda/dotnet:8

WORKDIR /var/task

RUN dnf update -y \
    && dnf install -y gcc-c++ pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 dbus-glib-devel \
    && dnf install -y libXdamage.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 \
    && dnf install -y libXrandr.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi \
    && dnf install -y xorg-x11-fonts-75dpi xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc \
    && dnf install -y mesa-libgbm.x86_64 \
    && dnf install -y nss-3.90.0-3.amzn2023.0.4.x86_64

COPY "bin/Release/lambda-publish" .

IronPDF başlatma

İlk ChromePdfRenderer çağrısından önce bu özellikleri ayarlayın:

IronPdf.Installation.AutomaticallyDownloadNativeBinaries = false;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
IronPdf.Installation.CustomDeploymentDirectory = "/tmp/ironpdf";
IronPdf.Installation.AutomaticallyDownloadNativeBinaries = false;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
IronPdf.Installation.CustomDeploymentDirectory = "/tmp/ironpdf";
Imports IronPdf

Installation.AutomaticallyDownloadNativeBinaries = False
Installation.ChromeGpuMode = Engines.Chrome.ChromeGpuModes.Disabled
Installation.LinuxAndDockerDependenciesAutoConfig = False
Installation.CustomDeploymentDirectory = "/tmp/ironpdf"
$vbLabelText   $csharpLabel

Tam AWS Lambda Docker kurulumu referansı için, AWS dağıtım kılavuzu'na bakın.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 20,088,359 | Sürüm: 2026.7 yeni yayınlandı
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.