CustomDeploymentDirectory in AWS Lambda

Curtis Chau
Curtis Chau
Updated: 29 czerwca 2026

Uruchamiając IronPDF w funkcji AWS Lambda w Dockerze, można spróbować skierować CustomDeploymentDirectory na tymczasową ścieżkę do zapisu, taką jak /tmp. To działanie może wygenerować mylny wiersz dziennika o niepowodzeniu w wyszukiwaniu binarnym, jednak renderowanie PDF nadal działa normalnie.

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

Wiadomość wygląda na błąd, ale jest informacyjna. IronPDF woli już wdrożone zestawy i tylko konsultuje własną ścieżkę jako zapasowe rozwiązanie. W Lambda, katalog roboczy kontenera Docker jest zazwyczaj /var/task, gdzie binaria już są, więc IronPDF znajduje je tam i kontynuuje.

CustomDeploymentDirectory pełni dwie role: katalog do pobierania i wdrażania komponentów natywnych, takich jak IronPdf.Native.Chrome.Linux, oraz alternatywną ścieżkę wyszukiwania dla zależności uruchomieniowych, które nie są znalezione w standardowych lokalizacjach. Ponieważ silnik preferuje już wdrożone binaria, ścieżka /tmp jest niepotrzebna, chyba że zależysz od IronPdf.Slim lub pobrań natywnych binariów z NuGet w czasie uruchomienia.

Zwróć uwagę: Wiersze dziennika zapasowego są informacyjne, a nie błędami. Jeśli renderowanie zakończy się sukcesem, nie ma potrzeby podejmowania działań.

Rozwiązanie

Opcja 1: Standardowe wdrożenie IronPdf.Linux

Dla większości wdrożeń Lambda i Docker za pomocą IronPdf.Linux, najprostsza i najpewniejsza konfiguracja pomija własny katalog w całości:

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

Wyłączając automatyczne pobierania, IronPDF informuje, że natywne binaria są już spakowane, a SingleProcess trzyma silnik w jednym procesie, co pasuje do ograniczonego środowiska Lambda.

Opcja 2: Wdrożenie IronPdf.Slim

Jeśli przesyłasz IronPdf.Slim z Docker, skieruj tymczasowe i wdrożeniowe ścieżki IronPDF do /tmp, jedynego katalogu do zapisu w 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;

Tu CustomDeploymentDirectory zdobywa swoje miejsce: pakiet Slim pobiera natywne komponenty w czasie uruchomienia, a /tmp daje im dom do zapisu. Włączenie LinuxAndDockerDependenciesAutoConfig pozwala IronPDF skonfigurować zależności Linuksowe przy pierwszym uruchomieniu.

Kiedy to ustawić

  • Pozostaw nieustawione, gdy: paczkujesz zależności IronPDF, takie jak IronPdf.Linux z projektem, używasz pełnych wdrożeń bez pobrań w czasie uruchomienia, a funkcja może to wszystko osiągnąć z /var/task.
  • Ustaw na /tmp, gdy: używasz IronPdf.Slim bez spakowanych natywnych binariów, polegasz na pobraniach komponentów jak IronPdf.Native.Chrome.Linux z NuGet w czasie uruchomienia, lub potrzebujesz tymczasowych wdrożeń przechowywanych w jedynym katalogu do zapisu w Lambda.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 22,024,882Wersja:2026.11właśnie wydany