Versões da função do Lambda - AWS Lambda

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Versões da função do Lambda

É possível usar versões para gerenciar a implantação das suas funções. Por exemplo, você pode publicar uma nova versão de uma função para testes beta sem afetar os usuários da versão de produção estável. O Lambda cria uma nova versão da sua função sempre que você publicá-la. A nova versão é uma cópia da versão não publicada da função. A versão não publicada é chamada $LATEST.

nota

Para criar uma nova versão da sua função, é necessário primeiro fazer alterações na versão não publicada ($LATEST). Essas alterações podem incluir atualizar o código ou modificar as configurações. Se a $LATEST for idêntica a uma versão publicada anteriormente, você não poderá criar uma nova versão até implantar alterações na $LATEST.

Depois de publicar uma versão da função, o código, o runtime, a arquitetura, a memória, as camadas e a maioria das outras definições de configuração da função são imutáveis. Isso significa que você não pode alterar essas configurações sem publicar uma nova versão de $LATEST. Você pode configurar os seguintes itens para uma versão de função publicada:

nota

Ao usar os controles de gerenciamento de runtime com o modo Automático, a versão do runtime usada pela versão da função é atualizada automaticamente. Ao usar Function update (Atualização de função) ou o modo Manual, a versão de runtime não será atualizada. Para ter mais informações, consulte Atualizações de runtime do Lambda.

Como criar versões de função

O código e as configurações das funções somente podem ser alterados na versão não publicada de uma função. Quando você publica uma versão, o Lambda bloqueia o código e a maioria das configurações para manter uma experiência consistente para os usuários dessa versão.

Você pode criar uma versão de função usando o console do Lambda.

Para criar uma nova versão de função
  1. Abra a página Funções do console do Lambda.

  2. Escolha uma função e, em seguida, Versions (Versões).

  3. Na página de configuração de versões, escolha Publish new version (Publicar nova versão).

  4. (Opcional) Insira uma descrição de versão.

  5. Selecione Publish.

Como alternativa, é possível publicar uma versão de uma função usando a operação de API PublishVersion.

O comando da AWS CLI a seguir publica uma nova versão de uma função. A resposta retorna as informações de configuração sobe a versão da função, incluindo o número da versão e o ARN da função com o sufixo da versão.

aws lambda publish-version --function-name my-function

A seguinte saída deverá ser mostrada:

{ "FunctionName": "my-function", "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:1", "Version": "1", "Role": "arn:aws:iam::123456789012:role/lambda-role", "Handler": "function.handler", "Runtime": "nodejs20.x", ... }
nota

O Lambda atribui números de sequência monotônicos crescentes para o controle de versionamento. O Lambda nunca reutiliza números de versão, mesmo após você excluir e recriar uma função.

Usar versões

É possível fazer referência à sua função do Lambda usando um ARN qualificado ou um ARN não qualificado.

  • ARN qualificado: o ARN da função com um sufixo da versão. O exemplo a seguir faz referência à versão 42 da função helloworld.

    arn:aws:lambda:aws-region:acct-id:function:helloworld:42
  • ARN não qualificado: o ARN da função sem um sufixo da versão.

    arn:aws:lambda:aws-region:acct-id:function:helloworld

É possível usar um ARN qualificado ou não qualificado em todas as operações de API relevantes. No entanto, não é possível usar um ARN não qualificado para criar um alias.

Se você decidir não publicar versões de funções, será possível invocar a função usando o ARN qualificado ou não qualificado no mapeamento da origem do evento. Quando você invoca uma função usando um ARN não qualificado, o Lambda invoca implicitamente $LATEST.

O Lambda só publica uma nova versão da função se o código nunca tiver sido publicado ou se o código foi alterado em relação à última versão publicada. Se não houver nenhuma alteração, a versão da função permanecerá na última versão publicada.

O ARN qualificado para cada versão de função do Lambda é exclusivo. Depois de publicar uma versão, não é possível alterar o ARN ou o código da função.

Conceder permissões

É possível usar uma política baseada em recurso ou uma política baseada em identidade para conceder acesso à sua função. O escopo da permissão depende se você aplicar a política a uma função ou a uma versão de uma função. Para obter mais informações sobre nomes de recursos de função em políticas, consulte Recursos e condições para ações do Lambda.

É possível simplificar o gerenciamento de fontes de eventos e políticas do AWS Identity and Access Management (IAM) utilizando aliases de funções. Para ter mais informações, consulte Aliases de função do Lambda.