IronPDF w AWS Lambda .NET 8: Brakujące błędy binariów Chromium

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

Podczas uruchamiania IronPDF wewnątrz obrazu kontenera AWS Lambda .NET 8, aplikacja kończy się wyjątkiem wskazującym, że wbudowane binarium Chromium nie zostało znalezione.

IronSoftware.Exceptions.IronSoftwareEmbeddedDeploymentMissingException:
Failed to find embedded resource 'Chrome.linux-x64.zip'

Pełny stos wyjątków może wyglądać następująco:

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()

Trzy warunki powodują ten błąd. Po pierwsze, jeśli AWS Lambda Mock Test Tool uruchamia funkcję na Windows, podczas gdy Dockerfile celuje w Linux, platforma zasobu osadzonego nie zgadza się ze środowiskiem wykonawczym. Po drugie, IronPdf.Slim jest pakietem tylko dla Linux i zawodzi, gdy środowisko wykonawcze to Windows. Po trzecie, obraz bazowy kontenera może nie spełniać wymagań platformy IronPDF.

Rozwiązanie

Krok 1: Testowanie na właściwym środowisku wykonawczym Linux

Nie testuj funkcji Lambda używając narzędzia Mock Test Tool na Windows. Użyj Dockera lokalnie, aby odtworzyć środowisko Lambda:

docker build -t my-lambda-test .
docker run --rm my-lambda-test
docker build -t my-lambda-test .
docker run --rm my-lambda-test
SHELL

Krok 2: Użyj pełnego pakietu IronPDF dla wsparcia międzyplatformowego

Jeśli musisz działać zarówno na Windows, jak i Linux, użyj IronPdf zamiast IronPdf.Slim:

Install-Package IronPdf

IronPdf.Slim jest tylko dla Linux. IronPdf zawiera osadzone binaria dla obu platform.

Krok 3: Zainstaluj zależności Linux w pliku 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

Dla pełnej konfiguracji Dockera AWS Lambda, zobacz przewodnik dotyczący wdrażania w AWS.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 20,088,359 | Wersja: 2026.7 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.