

# Criar e excluir camadas no Lambda
<a name="creating-deleting-layers"></a>

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](runtimes-custom.md) ou arquivos de configuração. 

Esta seção explica como criar e excluir camadas no 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](chapter-layers.md).

Depois de ter [empacotado seu conteúdo de camada](packaging-layers.md), a próxima etapa é criar a camada no Lambda. Esta seção demonstra como criar e excluir camadas usando somente o console do Lambda ou a API do Lambda. Para criar uma camada usando o AWS CloudFormation, consulte [Usar o AWS CloudFormation com camadas](layers-cfn.md). Para criar uma camada usando o AWS Serverless Application Model (AWS SAM), consulte [Usar o AWS SAM com camadas](layers-sam.md).

**Topics**
+ [Criar uma camada](#layers-create)
+ [Excluir uma versão da camada](#layers-delete)

## Criar uma camada
<a name="layers-create"></a>

Para criar uma camada, você pode fazer o upload do arquivo .zip em sua máquina local ou no Amazon Simple Storage Service (Amazon S3). O Lambda extrai o conteúdo da camada para o diretório `/opt` ao configurar o ambiente de execução para a função.

As camadas podem ter uma ou mais [versões da camada](chapter-layers.md#lambda-layer-versions). Quando você cria uma camada, o Lambda define a versão da camada para a versão 1. Você pode alterar as permissões em uma versão da camada existente a qualquer momento. No entanto, para atualizar o código ou fazer outras alterações na configuração, é preciso criar uma nova versão da camada.

**Para criar uma camada (console)**

1. Abra a [página Layers](https://console.aws.amazon.com/lambda/home#/layers) (Camadas) do console do Lambda.

1. Escolha **Criar camada**.

1. Em **Configuração de camada**, insira um nome para sua camada em **Nome**.

1. (Opcional) Em **Descrição**, insira uma descrição para a sua camada.

1. Para fazer upload do código da camada, siga um destes procedimentos:
   + Para carregar um arquivo.zip do seu computador, escolha **Upoad a .zip file** (Fazer upload de um arquivo .zip). Selecione **Upload** (Fazer upload) para escolher seu arquivo .zip local.
   + Para fazer upload de um arquivo do Amazon S3, escolha **Fazer upload de um arquivo do Amazon S3**. Então, em **Amazon S3 link URL** (URL do link do Amazon S3), insira um link para o arquivo.

1. (Opcional) Em **Arquiteturas compatíveis**, escolha um valor ou ambos os valores. Para obter mais informações, consulte [Selecionar e configurar a arquitetura de um conjunto de instruções para a função do Lambda](foundation-arch.md).

1. (Opcional) Para **Runtimes compatíveis**, escolha os runtimes com os quais sua camada é compatível.

1. (Opcional) Em **License** (Licença), insira todas as informações necessárias sobre licença.

1. Escolha **Criar**.

Como alternativa, você pode executar o comando [publish-layer-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/publish-layer-version.html) (CLI) do AWS Command Line Interface. Exemplo:

```
aws lambda publish-layer-version --layer-name my-layer --zip-file fileb://layer.zip --compatible-runtimes python3.14
```

Toda vez que você executa `publish-layer-version`, o Lambda cria uma [nova versão da camada](chapter-layers.md#lambda-layer-versions).

## Excluir uma versão da camada
<a name="layers-delete"></a>

Para excluir uma versão da camada, use a operação de API [DeleteLayerVersion](https://docs.aws.amazon.com/lambda/latest/api/API_DeleteLayerVersion.html). Por exemplo, execute o comando da AWS CLI [delete-layer-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/delete-layer-version.html) com o nome e a versão da camada especificada.

```
aws lambda delete-layer-version --layer-name my-layer --version-number 1
```

Ao excluir uma versão de camada, não é mais possível configurar uma função do Lambda para usá-la. No entanto, todas as funções que já usem a versão continua a ter acesso a ela. Além disso, o Lambda nunca reutiliza números de versão para o nome de uma camada.

Ao calcular as [cotas](gettingstarted-limits.md), a exclusão de uma versão de camada significa que ela não é mais contabilizada como parte da cota padrão de 75 GB para armazenamento de funções e camadas. No entanto, para funções que consomem uma versão de camada excluída, o conteúdo da camada ainda conta para a cota de tamanho do pacote de implantação da função (ou seja, 250 MB para arquivos .zip).