Directorio de implementación personalizada en AWS Lambda

Curtis Chau
Curtis Chau
Updated: 29 de junio de 2026

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'
Text

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.

Por favor nota: Las líneas de registro alternativas son informativas, no son errores. Si el renderizado tiene éxito, no se necesita ninguna acción.

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;

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:

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;

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.Linux con 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 /tmp cuando: usa IronPdf.Slim sin binarios nativos incluidos, confía en descargas de tiempo de ejecución de NuGet para componentes como IronPdf.Native.Chrome.Linux, o necesita despliegues temporales almacenados en el único directorio escribible de Lambda.

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

Leer más

¿Listo para empezar?

Nuget Downloads 22,024,882Versión:2026.11recién publicada