Adicionar camadas às funções - AWS Lambda

Adicionar camadas às funções

Uma camada do Lambda é um arquivo .zip que pode conter código ou dados adicionais. As camadas geralmente contêm dependências de biblioteca, um runtime personalizado ou arquivos de configuração.

Esta seção explica como adicionar uma camada a uma função do Lambda. Para obter mais informações conceituais sobre camadas e por que você pode considerar usá-las, consulte Gerenciar dependências do Lambda com camadas.

Antes de configurar uma função do Lambda para usar uma camada, é necessário:

É possível adicionar até cinco camadas a uma função do Lambda. O tamanho total descompactado da função e de todas as camadas não pode exceder a cota de tamanho do pacote de implantação descompactado de 250 MB. Para obter mais informações, consulte Cotas Lambda.

Suas funções podem continuar usando qualquer versão de camada que você já tenha adicionado, mesmo após a exclusão dessa versão ou após a revogação de sua permissão para acessar a camada. No entanto, você não pode criar uma nova função que use uma versão de camada excluída.

Para adicionar uma camada a uma função
  1. Abra a página Funções do console do Lambda.

  2. Escolha a função.

  3. Role a tela para baixo até a seção Camadas e depois escolha Adicionar uma camada.

  4. Em Escolher uma camada, escolha uma origem da camada:

    1. Camadas da AWS: escolha na lista de extensões gerenciadas pela AWS.

    2. Camadas personalizadas: escolha uma camada criada na sua seu Conta da AWS.

    3. Especificar um ARN: para usar uma camada de outra Conta da AWS, como uma extensão de terceiros, insira o nome do recurso da Amazon (ARN).

  5. Escolha Adicionar.

A ordem na qual você adiciona as camadas é a ordem na qual o Lambda mescla posteriormente o conteúdo da camada no ambiente de execução. É possível alterar a ordem de mesclagem das camadas usando o console.

Para atualizar a ordem de mesclagem das camadas para sua função (console)
  1. Abra a página Funções do console do Lambda.

  2. Escolha a função a ser configurada.

  3. Em Layers (Camadas), escolha Edit (Editar)

  4. Escolha uma das camadas.

  5. Escolha Merge earlier (Mesclar antes) ou Merge later (Mesclar depois) para ajustar a ordem das camadas.

  6. Escolha Salvar.

As camadas contêm versionamento. O conteúdo de cada versão da camada é imutável. O proprietário de uma camada pode liberar novas versões dela para fornecer conteúdo atualizado. É possível usar o console para atualizar a versão da camada anexada às suas funções.

Para atualizar versões da camada para sua função (console)
  1. Abra a página Camadas do console do Lambda.

  2. Escolha a camada para a qual você deseja atualizar a versão.

  3. Escolha a guia Funções usando esta versão.

  4. Escolha as funções que você deseja modificar e, em seguida, escolha Editar.

  5. Em Versão da camada, escolha a versão da camada a ser alterada.

  6. Escolha Atualizar funções.

Você não pode atualizar as versões da camada de funções nas contas da AWS.

Encontrar informações da camada

Para encontrar camadas em sua conta que sejam compatíveis com o runtime de sua função, use a API ListLayers. Por exemplo, é possível usar o seguinte comando (CLI) list-layers AWS Command Line Interface:

aws lambda list-layers --compatible-runtime python3.13

Você deve ver uma saída semelhante a:

{ "Layers": [ { "LayerName": "my-layer", "LayerArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer", "LatestMatchingVersion": { "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2", "Version": 2, "Description": "My layer", "CreatedDate": "2025-04-15T00:37:46.592+0000", "CompatibleRuntimes": [ "python3.13" ] } } ] }

Para listar todas as camadas da sua conta, omitia a opção --compatible-runtime. Os detalhes da resposta mostram a versão mais recente de cada camada.

Também é possível obter a versão mais recente de uma camada usando a API ListLayerVersions. Por exemplo, é possível usar o seguinte comando list-layer-versions da CLI:

aws lambda list-layer-versions --layer-name my-layer

Você deve ver uma saída semelhante a:

{ "LayerVersions": [ { "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2", "Version": 2, "Description": "My layer", "CreatedDate": "2023-11-15T00:37:46.592+0000", "CompatibleRuntimes": [ "java11" ] }, { "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1", "Version": 1, "Description": "My layer", "CreatedDate": "2023-11-15T00:27:46.592+0000", "CompatibleRuntimes": [ "java11" ] } ] }