

# Configuración de extensiones de Lambda
<a name="extensions-configuration"></a>

## Configuración de extensiones (archivo de archivo .zip)
<a name="using-extensions-config"></a>

Puede agregar una extensión a su función como [capa de Lambda](chapter-layers.md). El uso de capas permite compartir extensiones en toda la organización o con toda la comunidad de desarrolladores de Lambda. Puede agregar una o más extensiones a una capa. Puede registrar hasta 10 extensiones para una función.

Se agrega la extensión a la función utilizando el mismo método que se utilizaría para cualquier capa. Para obtener más información, consulte [Administración de las dependencias de Lambda con capas](chapter-layers.md).

**Agregar una extensión a la función (consola)**

1. Abra la [página de Funciones](https://console.aws.amazon.com/lambda/home#/functions) en la consola de Lambda.

1. Elija una función.

1. Elija la pestaña **Código** si aún no está seleccionada.

1. En **Capas**, elija **Editar**.

1. En **Choose a layer (Elegir una capa)**, elija **Specify an ARN (Especificar un ARN)**.

1. En **Specify an ARN (Especificar un ARN)**, escriba el nombre de recurso de Amazon (ARN) de una capa de extensión.

1. Elija **Agregar**.

## Uso de extensiones en imágenes de contenedor
<a name="invocation-extensions-images"></a>

Puede agregar extensiones a la [imagen de contenedor](images-create.md). La configuración de imagen de contenedor ENTRYPOINT especifica el proceso principal de la función. Configure el valor ENTRYPOINT en el Dockerfile o como una anulación en la configuración de la función. 

Puede ejecutar varios procesos dentro de un contenedor. Lambda administra el ciclo de vida del proceso principal y cualquier otro proceso adicional. Lambda utiliza la [API de extensiones](runtimes-extensions-api.md) para administrar el ciclo de vida de la extensión. 

### Ejemplo: Agregar una extensión externa
<a name="extensions-images-ex1"></a>

Una extensión externa se ejecuta en un proceso independiente de la función de Lambda. Lambda inicia un proceso para cada extensión en el directorio de `/opt/extensions/`. Lambda utiliza la API de extensiones para administrar el ciclo de vida de la extensión. Después de que la función se ha ejecutado hasta su finalización, Lambda envía un evento `Shutdown` a cada extensión externa.

**Example de agregar una extensión externa a una imagen base de Python**  

```
FROM public.ecr.aws/lambda/python:3.11

# Copy and install the app
COPY /app /app
WORKDIR /app
RUN pip install -r requirements.txt

# Add an extension from the local directory into /opt/extensions
ADD my-extension.zip /opt/extensions
CMD python ./my-function.py
```

## Pasos a seguir a continuación
<a name="using-extensions-next"></a>

Para obtener más información acerca de las extensiones, recomendamos los siguientes recursos:
+ Para obtener un ejemplo de trabajo básico, consulte [Creación de extensiones para AWS Lambda](https://aws.amazon.com/blogs/compute/building-extensions-for-aws-lambda-in-preview/) en el blog de informática de AWS.
+ Para obtener información acerca de las extensiones que proporcionan los socios de AWS Lambda, consulte [Introducción de extensiones de AWS Lambda](https://aws.amazon.com/blogs/compute/introducing-aws-lambda-extensions-in-preview/) en el blog de informática de AWS.
+ Para ver las extensiones de ejemplo disponibles y los scripts de envoltura, consulte [AWS Lambda Extensiones](https://github.com/aws-samples/aws-lambda-extensions) en el repositorio AWS Samples GitHub.