CustomDeploymentDirectory in AWS Lambda

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

Wenn Sie IronPDF in einer AWS Lambda-Funktion unter Docker ausführen, können Sie versuchen, CustomDeploymentDirectory auf einen beschreibbaren temporären Pfad wie /tmp zu verweisen. Dadurch kann eine irreführende Protokollzeile zu einem fehlgeschlagenen binären Lookup erzeugt werden, dennoch funktioniert das PDF-Rendering weiterhin normal.

Attempting deployment for 'Pdfium' using '/tmp/'
Failed to locate assembly(s) for deployment '/tmp/' at path '/tmp/'
Successfully located 'IronPdfInterop' at '/var/task'

Die Nachricht sieht aus wie ein Fehler, ist aber informativ. IronPDF bevorzugt bereits bereitgestellte Assemblies und greift nur im Notfall auf den benutzerdefinierten Pfad zurück. In Lambda befindet sich das Arbeitsverzeichnis Ihres Docker-Containers normalerweise bei /var/task, wo die Binärdateien bereits leben, sodass IronPDF sie dort findet und fortfährt.

CustomDeploymentDirectory erfüllt zwei Rollen: ein Verzeichnis zum Herunterladen und Bereitstellen nativer Komponenten wie IronPdf.Native.Chrome.Linux und ein alternativer Suchpfad für Laufzeitabhängigkeiten, die nicht an den Standardorten gefunden werden. Da die Engine bereits bereitgestellte Binärdateien bevorzugt, ist der /tmp-Pfad unnötig, es sei denn, Sie sind auf IronPdf.Slim angewiesen oder auf Laufzeit-NuGet-Downloads der nativen Binärdateien.

Hinweis:Die fallback-Protokollzeilen sind informativ, keine Fehler. Wenn das Rendering erfolgreich ist, sind keine Maßnahmen erforderlich.

Lösung

Option 1: Standard IronPdf.Linux Bereitstellung

Für die meisten Lambda plus Docker-Bereitstellungen mit IronPdf.Linux überspringt die einfachste und zuverlässigste Konfiguration das benutzerdefinierte Verzeichnis vollständig:

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

Das Deaktivieren der automatischen Downloads zeigt IronPDF an, dass die nativen Binärdateien bereits gepackt sind, und SingleProcess hält die Engine in einem Prozess, was der eingeschränkten Lambda-Laufzeit entspricht.

Option 2: IronPdf.Slim Bereitstellung

Wenn Sie IronPdf.Slim mit Docker ausliefern, leiten Sie die temporären und Bereitstellungs-Pfade von IronPDF zu /tmp, das einzige beschreibbare Verzeichnis in Lambda:

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

Hier verdient CustomDeploymentDirectory seinen Platz: das Slim-Paket lädt zur Laufzeit native Komponenten herunter, und /tmp bietet ihnen ein beschreibbares Zuhause. Die Aktivierung von LinuxAndDockerDependenciesAutoConfig ermöglichte IronPDF die Einrichtung der Linux-Abhängigkeiten bei der ersten Ausführung.

Wann es eingestellt werden sollte

  • Lassen Sie es unausgesetzt, wenn: Sie IronPDF-Abhängigkeiten wie IronPdf.Linux mit Ihrem Projekt paketieren, vollständige Bereitstellungen ohne Laufzeit-Downloads verwenden, und die Funktion kann alles von /var/task erreichen.
  • Legen Sie es auf /tmp fest, wenn: Sie IronPdf.Slim ohne gebündelte native Binärdateien verwenden, auf Laufzeit-NuGet-Downloads für Komponenten wie IronPdf.Native.Chrome.Linux angewiesen sind oder temporäre Bereitstellungen in Lambdas einzig beschreibbarem Verzeichnis gespeichert werden müssen.
Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 20,296,129 | Version: 2026.7 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronPdf
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.