Configuração de extensões do Lambda
Configurar extensões (arquivamento de arquivo.zip)
Você pode adicionar uma extensão à sua função como uma camada do Lambda. 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.
Adicionar uma extensão à função (console)
Abra a página Funções
do console do Lambda. -
Escolha uma função.
-
Escolha a guia Código se ainda não estiver selecionada.
-
Em Camadas, escolha Editar.
-
Em Choose a layer (Selecionar uma camada), selecione Specify an ARN (Especificar um ARN).
-
Em Specify an ARN (Especificar um ARN), insira o nome de recurso da Amazon (ARN) de uma camada de extensão.
-
Escolha Adicionar.
Uso de extensões em imagens de contêiner
Você pode adicionar extensões à imagem do contêiner. 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 oAPI Extensions dopara gerenciar o ciclo de vida da extensão.
Exemplo: Adicionando uma extensão externa
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.
exemplo 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 ADD my-extension.zip /opt CMD python ./my-function.py
Próximas etapas
Para saber mais sobre extensões, recomendamos os seguintes recursos:
-
Para obter um exemplo básico de trabalho, consulte Building Extensions for AWS Lambda
no AWS Compute Blog. -
Para obter informações sobre extensões fornecidas pelos parceiros da AWS Lambda, consulte Introducing AWS Lambda Extensions
no AWS Compute Blog. -
Para exibir extensões de exemplo disponíveis e scripts de wrapper, consulte AWS Lambda Extensões
no repositório AWS Samples GitHub.