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
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:
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.

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.