IronPDF no AWS Lambda .NET 8: Erros de Binário Chromium Ausente
Ao executar o IronPDF dentro de uma imagem de contêiner AWS Lambda .NET 8, a aplicação falha com uma exceção indicando que o binário Chromium incorporado não pode ser encontrado.
IronSoftware.Exceptions.IronSoftwareEmbeddedDeploymentMissingException:
Failed to find embedded resource 'Chrome.linux-x64.zip'
Pode aparecer a pilha de exceção completa como:
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()
Três condições causam este erro. Primeiro, se a ferramenta de Teste Simulado do AWS Lambda executar a função no Windows enquanto o Dockerfile tem como alvo o Linux, a plataforma de recursos incorporados não corresponderá ao tempo de execução. Segundo, IronPdf.Slim é um pacote exclusivo para Linux e falha quando o tempo de execução é Windows. Terceiro, a imagem base do contêiner pode não satisfazer os requisitos de plataforma do IronPDF.
Solução
Passo 1: Teste no tempo de execução correto do Linux
Não teste funções Lambda usando a ferramenta de teste mock no Windows. Use o Docker localmente para replicar o ambiente 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
Passo 2: Use o pacote completo do IronPDF para suporte multiplataforma
Se você precisar executar no Windows e no Linux, use IronPdf em vez de IronPdf.Slim:
Install-Package IronPdf
IronPdf.Slim é exclusivo para Linux. IronPdf inclui binários incorporados para ambas as plataformas.
Passo 3: Instale dependências do Linux no 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
Para a configuração completa do Docker do AWS Lambda, veja o guia de implantação do AWS.

