IronPDF in AWS Lambda .NET 8: Fehlende Chromium-Binar Dateien Fehler
Beim Ausführen von IronPDF innerhalb eines AWS Lambda .NET 8 Container-Image schlägt die Anwendung mit einer Ausnahme fehl, die darauf hinweist, dass die eingebettete Chromium-Binärdatei nicht gefunden werden kann.
IronSoftware.Exceptions.IronSoftwareEmbeddedDeploymentMissingException:
Failed to find embedded resource 'Chrome.linux-x64.zip'
Der vollständige Ausnahmestapel kann wie folgt erscheinen:
Unhandled exception. System.Exception: Error while convert DOCX document to HTML:
IronSoftware.Exceptions.IronSoftwareEmbeddedDeploymentMissingException: Failed to find embedded resource 'Chrome.linux-x64.zip'
at IronSoftware.Deployment.AssetManager.GetEmbededResourceStream(...)
at IronSoftware.Deployment.EmbeddedResourceDeployment.Deploy()
at IronPdf.Engines.Chrome.LocalChromeClient.Initialize()
Drei Bedingungen verursachen diesen Fehler. Zuerst, wenn das AWS Lambda Mock Test Tool die Funktion unter Windows ausführt, während das Dockerfile auf Linux abzielt, stimmt die eingebettete Ressource-Plattform nicht mit der Laufzeit überein. Zweitens ist IronPdf.Slim ein nur für Linux verfügbares Paket und schlägt fehl, wenn die Laufzeit Windows ist. Drittens, das Container-Basisimage erfüllt möglicherweise nicht die Plattformanforderungen von IronPDF.
Lösung
Schritt 1: Testen auf der korrekten Linux-Laufzeit
Testen Sie keine Lambda-Funktionen mit dem Mock Test Tool unter Windows. Verwenden Sie Docker lokal, um die Lambda-Umgebung zu replizieren:
docker build -t my-lambda-test .
docker run --rm my-lambda-test
docker build -t my-lambda-test .
docker run --rm my-lambda-test
Schritt 2: Verwenden Sie das vollständige IronPDF-Paket für plattformübergreifende Unterstützung
Wenn Sie sowohl unter Windows als auch unter Linux ausführen müssen, verwenden Sie IronPdf anstelle von IronPdf.Slim:
Install-Package IronPdf
IronPdf.Slim ist nur für Linux. IronPdf enthält eingebettete Binärdateien für beide Plattformen.
Schritt 3: Installieren Sie Linux-Abhängigkeiten im Dockerfile
FROM public.ecr.aws/lambda/dotnet:8
RUN yum install -y \
pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 \
libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 \
libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 \
atk.x86_64 gtk3.x86_64 ipa-gothic-fonts \
xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi \
xorg-x11-utils xorg-x11-fonts-cyrillic \
xorg-x11-fonts-Type1 xorg-x11-fonts-misc \
glibc-devel.x86_64 at-spi2-atk.x86_64 mesa-libgbm.x86_64
Für die vollständige AWS Lambda Docker-Konfiguration, siehe den AWS-Bereitstellungsleitfaden.

