# 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.
```txt
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.
[[i:(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:
```csharp
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:
```csharp
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;
```
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.
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'
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:
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:
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.