AWS Lambda'da Docker Olmadan IronPDF
IronPDF, AWS Lambda üzerinde çalışır, ancak yalnızca özel bir Docker konteyner imajından oluşturulmuş bir Lambda işlevinde. Standart, Docker olmayan bir Lambda çalışma zamanı, IronPDF'nin ihtiyaç duyduğu yerel Linux kütüphanelerinden yoksundur, bu nedenle burada PDF çalışması başarısız olur.
IronPDF, birkaç yerel Linux kütüphanesine bağımlıdır, bunlar arasında:
gcc-c++glibc-devel.i686glibc.i686pango.x86_64
Bu kütüphaneler, standart AWS Lambda ortamlarında varsayılan olarak mevcut değildir. IronPDF'yi yerel Docker içermeyen bir Lambda işlevinde çalıştırmak, genellikle aşağıdakilerden birini yüzeye çıkarır:
Native errors related to missing libraries
Failures in PDF generation or rendering
Crashes or instability when calling IronPdf methods
Temel neden, işletme motorudur: IronPDF içsel olarak Chrome'u çalıştırır ve Chrome, çoğunlukla yerel Linux bileşenlerine dayanır. Minimal sunucusuz çalışma zamanları, stok AWS Lambda görüntüleri gibi, bu bileşenleri göndermez ve bunlar çalışma zamanında güvenilir bir şekilde yüklenemez.
Çözüm
Her gereken yerel bağımlılığı önden yükleyen özel bir Docker konteyner imajı içinde IronPDF'yi dağıtın. Bu, Lambda'ya soyutlanmış bir çalışma zamanında tam uyumlu bir ortam sağlar.
FROM public.ecr.aws/lambda/dotnet:8
# install necessary packages
RUN dnf update -y
RUN dnf install -y gcc-c++ pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 dbus-glib-devel
RUN dnf install -y libXdamage.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64
RUN dnf install -y libXrandr.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi
RUN dnf install -y xorg-x11-fonts-75dpi xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc
RUN dnf install -y mesa-libgbm.x86_64
RUN dnf install -y nss-3.90.0-3.amzn2023.0.4.x86_64
WORKDIR /var/task
COPY "bin/Release/lambda-publish" .
CMD ["AWSLambdaNet8Container::AWSLambdaNet8Container.PrintPdf::FunctionHandler"]
Bu dnf install satırları, Chrome oluşturma bağımlılıklarını çeker; CMD giriş noktası, yayımlanan çıktıda Lambda'yı işlev işleyicinize yönlendirir.
[@
Tam bir inceleme için, AWS Lambda üzerinde PDF dosyaları oluşturmak için IronPDF kullanma bölümüne bakın.

