AWS Lambda .NET 8에서 IronPDF: Chromium 바이너리 오류 누락
IronPDF를 AWS Lambda .NET 8 컨테이너 이미지 내에서 실행할 때, 내장된 Chromium 바이너리를 찾을 수 없다는 예외 발생과 함께 애플리케이션이 실패합니다.
IronSoftware.Exceptions.IronSoftwareEmbeddedDeploymentMissingException:
Failed to find embedded resource 'Chrome.linux-x64.zip'
전체 예외 스택은 다음과 같이 나타날 수 있습니다:
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()
이 오류는 세 가지 조건에 의해 발생합니다. 첫번째로, AWS Lambda Mock Test Tool이 Dockerfile이 Linux를 대상으로 하는 동안 Windows에서 함수를 실행하면 내장된 리소스 플랫폼이 런타임과 일치하지 않습니다. 두 번째로, IronPdf.Slim은 Linux 전용 패키지이며, 런타임이 Windows일 때 실패합니다. 셋째, 컨테이너 기반 이미지가 IronPDF의 플랫폼 요구 사항을 충족하지 않을 수 있습니다.
해결책
단계 1: 올바른 Linux 런타임에서 테스트
Lambda 함수를 Windows에서 Mock Test Tool을 사용하여 테스트하지 마십시오. Docker를 로컬에서 사용하여 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
단계 2: 교차 플랫폼 지원을 위한 전체 IronPDF 패키지 사용
Windows와 Linux 모두에서 실행해야 한다면 IronPdf.Slim 대신 IronPdf을 사용하세요:
Install-Package IronPdf
IronPdf.Slim은 Linux 전용입니다. IronPdf는 두 플랫폼 모두에 대한 임베디드 바이너리를 포함합니다.
단계 3: Dockerfile에 Linux 종속성 설치
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
전체 AWS Lambda Docker 구성을 보려면, AWS 배포 가이드를 참조하십시오.

