# AWS Lambda'da Docker Olmadan IronPDF
IronPDF, AWS Lambda üzerinde çalışır, ancak yalnızca özel bir Docker konteyner imajından oluşturulmuş bir Lambda işlevinde. Standart, Docker olmayan bir Lambda çalışma zamanı, IronPDF'nin ihtiyaç duyduğu yerel Linux kütüphanelerinden yoksundur, bu nedenle burada PDF çalışması başarısız olur.
IronPDF, birkaç yerel Linux kütüphanesine bağımlıdır, bunlar arasında:
- `gcc-c++`
- `glibc-devel.i686`
- `glibc.i686`
- `pango.x86_64`
Bu kütüphaneler, standart AWS Lambda ortamlarında varsayılan olarak mevcut değildir. IronPDF'yi yerel Docker içermeyen bir Lambda işlevinde çalıştırmak, genellikle aşağıdakilerden birini yüzeye çıkarır:
```txt
Native errors related to missing libraries
Failures in PDF generation or rendering
Crashes or instability when calling IronPdf methods
```
Temel neden, işletme motorudur: IronPDF içsel olarak Chrome'u çalıştırır ve Chrome, çoğunlukla yerel Linux bileşenlerine dayanır. Minimal sunucusuz çalışma zamanları, stok AWS Lambda görüntüleri gibi, bu bileşenleri göndermez ve bunlar çalışma zamanında güvenilir bir şekilde yüklenemez.
## Çözüm
Her gereken yerel bağımlılığı önden yükleyen özel bir Docker konteyner imajı içinde IronPDF'yi dağıtın. Bu, Lambda'ya soyutlanmış bir çalışma zamanında tam uyumlu bir ortam sağlar.
```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"]
```
Bu `dnf install` satırları, Chrome oluşturma bağımlılıklarını çeker; `CMD` giriş noktası, yayımlanan çıktıda Lambda'yı işlev işleyicinize yönlendirir.
[@[[e:(Standard AWS Lambda çalışma zamanları, Docker olmadan IronPDF'yi çalıştıramaz. Docker tabanlı bir işlev kullanın, aksi takdirde PDF üretimi başarısız olur.)]]
Tam bir inceleme için, [AWS Lambda üzerinde PDF dosyaları oluşturmak için IronPDF kullanma](/get-started/aws/) bölümüne bakın.
IronPDF, AWS Lambda üzerinde çalışır, ancak yalnızca özel bir Docker konteyner imajından oluşturulmuş bir Lambda işlevinde. Standart, Docker olmayan bir Lambda çalışma zamanı, IronPDF'nin ihtiyaç duyduğu yerel Linux kütüphanelerinden yoksundur, bu nedenle burada PDF çalışması başarısız olur.
IronPDF, birkaç yerel Linux kütüphanesine bağımlıdır, bunlar arasında:
gcc-c++
glibc-devel.i686
glibc.i686
pango.x86_64
Bu kütüphaneler, standart AWS Lambda ortamlarında varsayılan olarak mevcut değildir. IronPDF'yi yerel Docker içermeyen bir Lambda işlevinde çalıştırmak, genellikle aşağıdakilerden birini yüzeye çıkarır:
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
Temel neden, işletme motorudur: IronPDF içsel olarak Chrome'u çalıştırır ve Chrome, çoğunlukla yerel Linux bileşenlerine dayanır. Minimal sunucusuz çalışma zamanları, stok AWS Lambda görüntüleri gibi, bu bileşenleri göndermez ve bunlar çalışma zamanında güvenilir bir şekilde yüklenemez.
Çözüm
Her gereken yerel bağımlılığı önden yükleyen özel bir Docker konteyner imajı içinde IronPDF'yi dağıtın. Bu, Lambda'ya soyutlanmış bir çalışma zamanında tam uyumlu bir ortam sağlar.
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
Bu dnf install satırları, Chrome oluşturma bağımlılıklarını çeker; CMD giriş noktası, yayımlanan çıktıda Lambda'yı işlev işleyicinize yönlendirir.
[@
Dikkat: Standard AWS Lambda çalışma zamanları, Docker olmadan IronPDF'yi çalıştıramaz. Docker tabanlı bir işlev kullanın, aksi takdirde PDF üretimi başarısız olur.
Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.