# AWS Lambda'da CustomDeploymentDirectory
Docker altında bir AWS Lambda fonksiyonu içinde IronPDF'yi çalıştırdığınızda, `CustomDeploymentDirectory` bir `/tmp` gibi yazılabilir geçici bir yola yönlendirmeyi deneyebilirsiniz. Bunu yapmak, başarısız bir ikili arama hakkında yanıltıcı bir günlük satırı üretebilir, ama PDF işleme normal şekilde devam eder.
```txt
Attempting deployment for 'Pdfium' using '/tmp/'
Failed to locate assembly(s) for deployment '/tmp/' at path '/tmp/'
Successfully located 'IronPdfInterop' at '/var/task'
```
Mesaj bir hata gibi görünür, ama bilgilendiricidir. IronPDF, zaten dağıtılmış olan montajları tercih eder ve yalnızca özel yolu bir yedek olarak danışır. Lambda'da, Docker konteynerinizin çalışma dizini genellikle `/var/task` olur; burada zaten binary'ler bulunduğu için IronPDF onları burada bulur ve devam eder.
`CustomDeploymentDirectory` iki rol oynar: `IronPdf.Native.Chrome.Linux` gibi yerel bileşenleri indirmek ve dağıtmak için bir dizin ve standart yerlerde bulunmayan çalışma zamanı bağımlılıkları için bir alternatif sorgu yolu. Motor, zaten dağıtılmış olan ikililere öncelik verdiği için, `/tmp` yolu, `IronPdf.Slim` veya yerel binary'lerin NuGet üzerinden çalışma zamanı indirmelerine bağımlı olmadıkça gereksizdir.
[[i:(Yedek günlük satırları bilgilendirici, hata değil. İşleme başarılı olursa, hiçbir işlem yapmanıza gerek yoktur.)]]
## Çözüm
### Seçenek 1: Standart IronPdf.Linux Dağıtımı
`IronPdf.Linux` kullanan çoğu Lambda ve Docker dağıtımı için, en basit ve en güvenilir yapılandırma, özel dizini tamamen atlar:
```csharp
IronPdf.Installation.AutomaticallyDownloadNativeBinaries = false;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.SingleProcess = true;
```
Otomatik indirmeleri devre dışı bırakmak, IronPDF'ye, yerel binary'lerin zaten paketlendiğini söyler ve `SingleProcess`, motoru tek bir süreçte tutar ve bu da kısıtlı Lambda çalışma zamanına uygundur.
### Seçenek 2: IronPdf.Slim Dağıtımı
Docker ile birlikte `IronPdf.Slim` gönderirseniz, IronPDF'nin geçici ve dağıtım yollarını Lambda'daki tek yazılabilir dizin olan `/tmp`'ye yönlendirin:
```csharp
var awsTmpPath = @"/tmp/"; // AWS temporary storage path
// Configuration for IronPDF rendering
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.DefaultRenderingEngine = IronPdf.Rendering.PdfRenderingEngine.Chrome;
Environment.SetEnvironmentVariable("TEMP", awsTmpPath, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("TMP", awsTmpPath, EnvironmentVariableTarget.Process);
IronPdf.Installation.TempFolderPath = awsTmpPath;
IronPdf.Installation.CustomDeploymentDirectory = awsTmpPath;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
```
Burada, `CustomDeploymentDirectory` yerini edinir: Slim paket, yerel bileşenleri çalışma zamanında indirir ve `/tmp` onlara yazılabilir bir yuva sağlar. `LinuxAndDockerDependenciesAutoConfig`'yı etkinleştirmek, IronPDF'nin ilk çalışmadaki Linux bağımlılıklarını kurmasına olanak sağlar.
## Ne Zaman Ayarlamalı
- **Ayarlamayın:** IronPDF bağımlılıklarını, örneğin `IronPdf.Linux`, projenizle paketlerseniz, çalışma zamanı indirmeleri olmadan tam dağıtımlar kullanırsanız ve işlev, her şeye `/var/task` dışından erişebilirse.
- **`/tmp` olarak ayarlayın:** yerel binary'ler içermeyen `IronPdf.Slim` kullanıyorsanız, bileşenler için çalışma zamanı NuGet indirmelerine, örneğin `IronPdf.Native.Chrome.Linux`, güveniyorsanız veya Lambda'nın tek yazılabilir dizininde geçici dağıtımların saklanması gerekiyorsa.
Docker altında bir AWS Lambda fonksiyonu içinde IronPDF'yi çalıştırdığınızda, CustomDeploymentDirectory bir /tmp gibi yazılabilir geçici bir yola yönlendirmeyi deneyebilirsiniz. Bunu yapmak, başarısız bir ikili arama hakkında yanıltıcı bir günlük satırı üretebilir, ama PDF işleme normal şekilde devam eder.
Attempting deployment for 'Pdfium' using '/tmp/'Failed to locate assembly(s) for deployment '/tmp/' at path '/tmp/'Successfully located 'IronPdfInterop' at '/var/task'
Attempting deployment for 'Pdfium' using '/tmp/'
Failed to locate assembly(s) for deployment '/tmp/' at path '/tmp/'
Successfully located 'IronPdfInterop' at '/var/task'
Text
Mesaj bir hata gibi görünür, ama bilgilendiricidir. IronPDF, zaten dağıtılmış olan montajları tercih eder ve yalnızca özel yolu bir yedek olarak danışır. Lambda'da, Docker konteynerinizin çalışma dizini genellikle /var/task olur; burada zaten binary'ler bulunduğu için IronPDF onları burada bulur ve devam eder.
CustomDeploymentDirectory iki rol oynar: IronPdf.Native.Chrome.Linux gibi yerel bileşenleri indirmek ve dağıtmak için bir dizin ve standart yerlerde bulunmayan çalışma zamanı bağımlılıkları için bir alternatif sorgu yolu. Motor, zaten dağıtılmış olan ikililere öncelik verdiği için, /tmp yolu, IronPdf.Slim veya yerel binary'lerin NuGet üzerinden çalışma zamanı indirmelerine bağımlı olmadıkça gereksizdir.
Lütfen dikkate alın: Yedek günlük satırları bilgilendirici, hata değil. İşleme başarılı olursa, hiçbir işlem yapmanıza gerek yoktur.
Çözüm
Seçenek 1: Standart IronPdf.Linux Dağıtımı
IronPdf.Linux kullanan çoğu Lambda ve Docker dağıtımı için, en basit ve en güvenilir yapılandırma, özel dizini tamamen atlar:
Otomatik indirmeleri devre dışı bırakmak, IronPDF'ye, yerel binary'lerin zaten paketlendiğini söyler ve SingleProcess, motoru tek bir süreçte tutar ve bu da kısıtlı Lambda çalışma zamanına uygundur.
Seçenek 2: IronPdf.Slim Dağıtımı
Docker ile birlikte IronPdf.Slim gönderirseniz, IronPDF'nin geçici ve dağıtım yollarını Lambda'daki tek yazılabilir dizin olan /tmp'ye yönlendirin:
Burada, CustomDeploymentDirectory yerini edinir: Slim paket, yerel bileşenleri çalışma zamanında indirir ve /tmp onlara yazılabilir bir yuva sağlar. LinuxAndDockerDependenciesAutoConfig'yı etkinleştirmek, IronPDF'nin ilk çalışmadaki Linux bağımlılıklarını kurmasına olanak sağlar.
Ne Zaman Ayarlamalı
Ayarlamayın: IronPDF bağımlılıklarını, örneğin IronPdf.Linux, projenizle paketlerseniz, çalışma zamanı indirmeleri olmadan tam dağıtımlar kullanırsanız ve işlev, her şeye /var/task dışından erişebilirse.
/tmp olarak ayarlayın: yerel binary'ler içermeyen IronPdf.Slim kullanıyorsanız, bileşenler için çalışma zamanı NuGet indirmelerine, örneğin IronPdf.Native.Chrome.Linux, güveniyorsanız veya Lambda'nın tek yazılabilir dizininde geçici dağıtımların saklanması gerekiyorsa.
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.