Répertoire de déploiement personnalisé dans AWS Lambda

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

Lorsque vous exécutez IronPDF dans une fonction AWS Lambda sous Docker, vous pouvez essayer de pointer CustomDeploymentDirectory vers un chemin temporaire inscriptible tel que /tmp. Cela peut produire une ligne de journal trompeuse sur une recherche binaire échouée, mais le rendu PDF continue de fonctionner normalement.

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

Le message ressemble à un échec, mais il est informatif. IronPDF préfère les assemblies qui sont déjà déployés et ne consulte le chemin personnalisé qu'en cas de besoin. Dans Lambda, le répertoire de travail de votre conteneur Docker est généralement /var/task, où les binaires sont déjà présents, donc IronPDF les trouve là et continue.

CustomDeploymentDirectory sert deux rôles : un répertoire pour télécharger et déployer des composants natifs tels que IronPdf.Native.Chrome.Linux, et un chemin de recherche alternatif pour les dépendances d'exécution qui ne se trouvent pas dans les emplacements standards. Parce que le moteur favorise les binaires déjà déployés, le chemin /tmp est inutile à moins que vous ne dépendiez de IronPdf.Slim ou de téléchargements NuGet d'exécution des binaires natifs.

Veuillez noterLes lignes de journal de secours sont informatives, pas des erreurs. Si le rendu réussit, aucune action n'est nécessaire.

Solution

Option 1 : Déploiement standard avec IronPdf.Linux

Pour la plupart des déploiements Lambda plus Docker utilisant IronPdf.Linux, la configuration la plus simple et la plus fiable saute complètement le répertoire personnalisé :

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

Désactiver les téléchargements automatiques indique à IronPDF que les binaires natifs sont déjà empaquetés, et SingleProcess garde le moteur en un seul processus, ce qui convient au runtime limité de Lambda.

Option 2 : Déploiement avec IronPdf.Slim

Si vous envoyez IronPdf.Slim avec Docker, redirigez les chemins temporaires et de déploiement d'IronPDF vers /tmp, le seul répertoire inscriptible dans 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

Ici CustomDeploymentDirectory gagne sa place : le paquet Slim télécharge les composants natifs lors de l'exécution, et /tmp leur donne un foyer inscriptible. Activer LinuxAndDockerDependenciesAutoConfig permet à IronPDF de configurer les dépendances Linux lors du premier lancement.

Quand le Configurer

  • Laissez-le non configuré lorsque : vous empaquetez les dépendances d'IronPDF telles que IronPdf.Linux avec votre projet, utilisez des déploiements complets sans téléchargements d'exécution, et la fonction peut tout atteindre depuis /var/task.
  • Configurez-le sur /tmp lorsque: vous utilisez IronPdf.Slim sans binaires natifs associés, comptez sur les téléchargements NuGet d'exécution pour des composants comme IronPdf.Native.Chrome.Linux, ou avez besoin de déploiements temporaires stockés dans le seul répertoire inscriptible de Lambda.
Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer ?
Nuget Téléchargements 20,296,129 | Version : 2026.7 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronPdf
exécuter un échantillon Regardez votre code HTML se transformer en PDF.