Répertoire de déploiement personnalisé dans AWS Lambda
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.
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
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
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.Linuxavec 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
/tmplorsque: vous utilisezIronPdf.Slimsans binaires natifs associés, comptez sur les téléchargements NuGet d'exécution pour des composants commeIronPdf.Native.Chrome.Linux, ou avez besoin de déploiements temporaires stockés dans le seul répertoire inscriptible de Lambda.

