# IronPDF on AWS Lambda Without Docker
IronPDF funciona no AWS Lambda, mas apenas dentro de uma função Lambda criada a partir de uma imagem de contêiner Docker personalizada. Um tempo de execução Lambda padrão, não-Docker, não possui as bibliotecas nativas do Linux que o IronPDF precisa, então o trabalho com PDF falha lá.
IronPDF depende de várias bibliotecas nativas do Linux, incluindo:
- `gcc-c++`
- `glibc-devel.i686`
- `glibc.i686`
- `pango.x86_64`
Essas bibliotecas não estão presentes por padrão nos ambientes padrão do AWS Lambda. Executar o IronPDF em uma função Lambda não-Docker sem elas geralmente revela um dos seguintes:
```txt
Native errors related to missing libraries
Failures in PDF generation or rendering
Crashes or instability when calling IronPdf methods
```
A causa raiz é o mecanismo de renderização: o IronPDF usa internamente o Chrome, e o próprio Chrome depende de componentes nativos do Linux. Runtimes serverless mínimos como as imagens padrão do AWS Lambda não incluem esses componentes, e eles não podem ser instalados de forma confiável durante o tempo de execução.
## Solução
Implemente o IronPDF dentro de uma imagem de contêiner Docker personalizada que instala todas as dependências nativas necessárias desde o início. Isso dá ao Lambda um ambiente totalmente compatível em vez de um tempo de execução reduzido.
```dockerfile
FROM public.ecr.aws/lambda/dotnet:8
# install necessary packages
RUN dnf update -y
RUN dnf install -y gcc-c++ pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 dbus-glib-devel
RUN dnf install -y libXdamage.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64
RUN dnf install -y libXrandr.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi
RUN dnf install -y xorg-x11-fonts-75dpi xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc
RUN dnf install -y mesa-libgbm.x86_64
RUN dnf install -y nss-3.90.0-3.amzn2023.0.4.x86_64
WORKDIR /var/task
COPY "bin/Release/lambda-publish" .
CMD ["AWSLambdaNet8Container::AWSLambdaNet8Container.PrintPdf::FunctionHandler"]
```
As linhas `dnf install` trazem as dependências de renderização do Chrome; o ponto de entrada `CMD` aponta o Lambda para o seu manipulador de função na saída publicada.
[[e:(Runtimes padrão do AWS Lambda sem Docker não podem executar IronPDF. Use uma função baseada em Docker ou a geração de PDF falhará.)]]
Para um tutorial completo, consulte [Usando o IronPDF para criar arquivos PDF no AWS Lambda](/get-started/aws/).
IronPDF funciona no AWS Lambda, mas apenas dentro de uma função Lambda criada a partir de uma imagem de contêiner Docker personalizada. Um tempo de execução Lambda padrão, não-Docker, não possui as bibliotecas nativas do Linux que o IronPDF precisa, então o trabalho com PDF falha lá.
IronPDF depende de várias bibliotecas nativas do Linux, incluindo:
gcc-c++
glibc-devel.i686
glibc.i686
pango.x86_64
Essas bibliotecas não estão presentes por padrão nos ambientes padrão do AWS Lambda. Executar o IronPDF em uma função Lambda não-Docker sem elas geralmente revela um dos seguintes:
Native errors related to missing librariesFailures in PDF generation or renderingCrashes or instability when calling IronPdf methods
Native errors related to missing libraries
Failures in PDF generation or rendering
Crashes or instability when calling IronPdf methods
Text
A causa raiz é o mecanismo de renderização: o IronPDF usa internamente o Chrome, e o próprio Chrome depende de componentes nativos do Linux. Runtimes serverless mínimos como as imagens padrão do AWS Lambda não incluem esses componentes, e eles não podem ser instalados de forma confiável durante o tempo de execução.
Solução
Implemente o IronPDF dentro de uma imagem de contêiner Docker personalizada que instala todas as dependências nativas necessárias desde o início. Isso dá ao Lambda um ambiente totalmente compatível em vez de um tempo de execução reduzido.
FROM public.ecr.aws/lambda/dotnet:8
# install necessary packages
RUN dnf update -y
RUN dnf install -y gcc-c++ pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 dbus-glib-devel
RUN dnf install -y libXdamage.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64
RUN dnf install -y libXrandr.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi
RUN dnf install -y xorg-x11-fonts-75dpi xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc
RUN dnf install -y mesa-libgbm.x86_64
RUN dnf install -y nss-3.90.0-3.amzn2023.0.4.x86_64
WORKDIR /var/task
COPY "bin/Release/lambda-publish" .
CMD ["AWSLambdaNet8Container::AWSLambdaNet8Container.PrintPdf::FunctionHandler"]
Text
As linhas dnf install trazem as dependências de renderização do Chrome; o ponto de entrada CMD aponta o Lambda para o seu manipulador de função na saída publicada.
Cuidado: Runtimes padrão do AWS Lambda sem Docker não podem executar IronPDF. Use uma função baseada em Docker ou a geração de PDF falhará.
Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.