IronPDF en AWS Lambda .NET 8: Errores de binario de Chromium faltantes
Cuando se ejecuta IronPDF dentro de una imagen de contenedor AWS Lambda .NET 8, la aplicación falla con una excepción que indica que no se puede encontrar el binario de Chromium incrustado.
IronSoftware.Exceptions.IronSoftwareEmbeddedDeploymentMissingException:
Failed to find embedded resource 'Chrome.linux-x64.zip'
La pila de excepciones completa puede aparecer 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()
Tres condiciones causan este error. Primero, si la herramienta de prueba simulada de AWS Lambda ejecuta la función en Windows mientras que el Dockerfile está configurado para Linux, la plataforma de recursos incrustados no coincide con el tiempo de ejecución. Segundo, IronPdf.Slim es un paquete exclusivo para Linux y falla cuando el tiempo de ejecución es Windows. Tercero, la imagen base del contenedor puede no cumplir con los requisitos de plataforma de IronPDF.
Solución
Paso 1: Prueba en el entorno de ejecución Linux correcto
No pruebe las funciones de Lambda usando la Herramienta de Prueba Simulada en Windows. Use Docker localmente para replicar el entorno de 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
Paso 2: Use el paquete completo de IronPDF para soporte multiplataforma
Si necesitas ejecutar en ambos Windows y Linux, usa IronPdf en lugar de IronPdf.Slim:
Install-Package IronPdf
IronPdf.Slim es exclusivo para Linux. IronPdf incluye binarios incrustados para ambas plataformas.
Paso 3: Instalar dependencias de Linux en el 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 la configuración completa de Docker de AWS Lambda, consulte la guía de implementación de AWS.

