CustomDeploymentDirectory in AWS Lambda

Curtis Chau
Curtis Chau
Updated: 29. Juni 2026

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'
Text

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;

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:

using System;

var awsTmpPath = @"/tmp/"; // AWS temporary storage path
// Configuration for IronPDF rendering
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
Environment.SetEnvironmentVariable("TEMP", awsTmpPath, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("TMP", awsTmpPath, EnvironmentVariableTarget.Process);
IronPdf.Installation.TempFolderPath = awsTmpPath;
IronPdf.Installation.CustomDeploymentDirectory = awsTmpPath;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;

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 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 Handbücher.

Weiterlesen

Bereit anzufangen?

Nuget Downloads 22,024,882Version:2026.11gerade veröffentlicht