Directorio de implementación personalizada en AWS Lambda

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

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.

Por favor notaLas 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;
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

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
$vbLabelText   $csharpLabel

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
Escritor Técnico

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 ...

Leer más
¿Listo para empezar?
Nuget Descargas 20,296,129 | Versión: 2026.7 recién publicada
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronPdf
ejecutar una muestra Mira cómo tu HTML se convierte en PDF.