AWS Lambda'da CustomDeploymentDirectory

This article was translated from English: Does it need improvement?
Translated
View the article in English

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'

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ınYedek 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:

IronPdf.Installation.AutomaticallyDownloadNativeBinaries = false;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.SingleProcess = true;
IronPdf.Installation.AutomaticallyDownloadNativeBinaries = false;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.SingleProcess = true;
Imports IronPdf

Installation.AutomaticallyDownloadNativeBinaries = False
Installation.LinuxAndDockerDependenciesAutoConfig = False
Installation.ChromeGpuMode = Engines.Chrome.ChromeGpuModes.Disabled
Installation.SingleProcess = True
$vbLabelText   $csharpLabel

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:

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;
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;
Imports IronPdf

Dim awsTmpPath As String = "/tmp/" ' AWS temporary storage path
' Configuration for IronPDF rendering
Installation.ChromeGpuMode = Engines.Chrome.ChromeGpuModes.Disabled
Installation.DefaultRenderingEngine = Rendering.PdfRenderingEngine.Chrome
Environment.SetEnvironmentVariable("TEMP", awsTmpPath, EnvironmentVariableTarget.Process)
Environment.SetEnvironmentVariable("TMP", awsTmpPath, EnvironmentVariableTarget.Process)
Installation.TempFolderPath = awsTmpPath
Installation.CustomDeploymentDirectory = awsTmpPath
Installation.LinuxAndDockerDependenciesAutoConfig = True
$vbLabelText   $csharpLabel

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
Teknik Yazar

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ı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 20,296,129 | Sürüm: 2026.7 yeni yayınlandı
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.