# CustomDeploymentDirectory in AWS Lambda
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.
```txt
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.
[[i:(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:
```csharp
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:
```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;
```
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.
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'
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:
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:
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.