

# Configuração de extensões do Lambda
<a name="extensions-configuration"></a>

## Configurar extensões (arquivamento de arquivo.zip)
<a name="using-extensions-config"></a>

Você pode adicionar uma extensão à sua função como uma [ camada do Lambda](chapter-layers.md). O uso de camadas permite compartilhar extensões em toda a organização ou com toda a comunidade de desenvolvedores do Lambda. É possível adicionar uma ou mais extensões a uma camada. É possível registrar até 10 extensões para uma função.

Adicione a extensão à função usando o mesmo método que faria para qualquer camada. Para ter mais informações, consulte [Gerenciar dependências do Lambda com camadas](chapter-layers.md).

**Adicionar uma extensão à função (console)**

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

1. Escolha uma função.

1. Escolha a guia **Código** se ainda não estiver selecionada.

1. Em **Camadas**, escolha **Editar**.

1. Em **Choose a layer (Selecionar uma camada)**, selecione **Specify an ARN (Especificar um ARN)**.

1. Em **Specify an ARN (Especificar um ARN)**, insira o nome de recurso da Amazon (ARN) de uma camada de extensão.

1. Escolha **Adicionar**.

## Uso de extensões em imagens de contêiner
<a name="invocation-extensions-images"></a>

Você pode adicionar extensões à [imagem do contêiner](images-create.md). A configuração de imagem de contêiner ENTRYPOINT especifica o processo principal para a função. Configure a configuração ENTRYPOINT no Dockerfile ou como uma substituição na configuração da função. 

Você pode executar vários processos dentro de um contêiner. Lambda gerencia o ciclo de vida do processo principal e quaisquer processos adicionais. O Lambda usa o[API Extensions do](runtimes-extensions-api.md)para gerenciar o ciclo de vida da extensão. 

### Exemplo: Adicionando uma extensão externa
<a name="extensions-images-ex1"></a>

Uma extensão externa é executada em um processo separado da função Lambda. O Lambda inicia um processo para cada extensão no`/opt/extensions/`Diretório. O Lambda usa a API de extensões para gerenciar o ciclo de vida da extensão. Depois que a função for executada até a conclusão, o Lambda envia um evento `Shutdown` para cada extensão externa.

**Example de adicionar uma extensão externa a uma imagem base 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
```

## Próximas etapas
<a name="using-extensions-next"></a>

Para saber mais sobre extensões, recomendamos os seguintes recursos:
+ Para obter um exemplo básico de trabalho, consulte [Building Extensions for AWS Lambda](https://aws.amazon.com/blogs/compute/building-extensions-for-aws-lambda-in-preview/) no AWS Compute Blog.
+ Para obter informações sobre extensões fornecidas pelos parceiros da AWS Lambda, consulte [Introducing AWS Lambda Extensions](https://aws.amazon.com/blogs/compute/introducing-aws-lambda-extensions-in-preview/) no AWS Compute Blog.
+ Para exibir extensões de exemplo disponíveis e scripts de wrapper, consulte [AWS Lambda Extensões](https://github.com/aws-samples/aws-lambda-extensions) no repositório AWS Samples GitHub.