Directorio de implementación personalizada en AWS Lambda
Cuando ejecuta IronPDF en una función Lambda de AWS bajo Docker, puede intentar apuntar CustomDeploymentDirectory a una ruta temporal escribible como /tmp. Hacerlo puede producir una línea de registro engañosa sobre una búsqueda de binarios fallida, pero el renderizado de PDF sigue funcionando normalmente.
Attempting deployment for 'Pdfium' using '/tmp/'
Failed to locate assembly(s) for deployment '/tmp/' at path '/tmp/'
Successfully located 'IronPdfInterop' at '/var/task'
El mensaje parece un fallo, pero es informativo. IronPDF prefiere ensamblados ya implementados y solo consulta la ruta personalizada como una alternativa. En Lambda, el directorio de trabajo de su contenedor Docker suele ser /var/task, donde los binarios ya viven, por lo que IronPDF los encuentra allí y procede.
CustomDeploymentDirectory sirve dos papeles: un directorio para descargar e implementar componentes nativos como IronPdf.Native.Chrome.Linux, y una ruta de búsqueda alternativa para dependencias de tiempo de ejecución que no se encuentran en las ubicaciones estándar. Debido a que el motor favorece los binarios ya desplegados, la ruta /tmp es innecesaria a menos que dependa de IronPdf.Slim o de descargas de tiempo de ejecución de NuGet de los binarios nativos.
Solución
Opción 1: Despliegue estándar de IronPdf.Linux
Para la mayoría de los despliegues de Lambda más Docker usando IronPdf.Linux, la configuración más simple y confiable omite completamente el directorio personalizado:
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
Desactivar las descargas automáticas le dice a IronPDF que los binarios nativos ya están empaquetados, y SingleProcess mantiene el motor en un proceso, lo cual se adapta al tiempo de ejecución limitado de Lambda.
Opción 2: Despliegue IronPdf.Slim
Si envía IronPdf.Slim con Docker, dirija los caminos temporales y de despliegue de IronPDF a /tmp, el único directorio escribible en 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
Aquí CustomDeploymentDirectory gana su lugar: el paquete Slim descarga componentes nativos en tiempo de ejecución, y /tmp les da un hogar escribible. Activar LinuxAndDockerDependenciesAutoConfig permite que IronPDF configure las dependencias de Linux en la primera ejecución.
Cuándo Configurarlo
- Déjelo sin configurar cuando: envasa dependencias de IronPDF como
IronPdf.Linuxcon su proyecto, utiliza despliegues completos sin descargas de tiempo de ejecución, y la función puede alcanzar todo desde/var/task. - Configúrelo a
/tmpcuando: usaIronPdf.Slimsin binarios nativos incluidos, confía en descargas de tiempo de ejecución de NuGet para componentes comoIronPdf.Native.Chrome.Linux, o necesita despliegues temporales almacenados en el único directorio escribible de Lambda.

