Implantar funções do Lambda como arquivos .zip - 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á.

Implantar funções do Lambda como arquivos .zip

Quando você cria uma função do Lambda, você empacota o código da função em umpacote de implantação. O Lambda é compatível com dois tipos de pacotes de implantação: imagens de contêiner e arquivos .zip. O fluxo de trabalho para criar uma função depende do tipo de pacote de implantação. Para criar uma função definida como uma imagem de contêiner, consulte Trabalhar com imagens de contêiner do Lambda.

Você pode usar o console do Lambda e a API do Lambda para criar uma função definida com um arquivo de arquivo.zip. Você também pode carregar um arquivo.zip atualizado para alterar o código da função.

nota

Você não pode alterar o tipo de pacote de implantação (.zip ou imagem de contêiner) de uma função existente. Por exemplo, você não pode converter uma função de imagem de contêiner para usar um arquivo compactado .zip. É necessário criar uma nova função.

Como criar a função

Ao criar uma função definida com um arquivo de arquivo .zip, você escolhe um modelo de código, a versão de idioma e a função de execução da função. Você adiciona o código da função depois do Lambda cria a função.

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

  2. Escolha a opção Criar função.

  3. SelecioneAuthor from scratch (Começar do zero)ouUse a blueprint (Usar um esquema)Como criar sua função do.

  4. Em Basic information (Informações básicas), faça o seguinte:

    1. Em Function name (Nome da função), insira o nome da função. Os nomes das funções têm um limite de 64 caracteres de comprimento.

    2. Para o Runtime, escolha a versão do idioma a ser usada para sua função.

    3. (Opcional) Em Architecture (Arquitetura), escolha a arquitetura do conjunto de instruções a ser usado para sua função. O valor da arquitetura padrão é X86_64. Ao criar o pacote de implantação para sua função, verifique se ela é compatível com esta arquitetura de conjunto de instruções.

  5. (Opcional) Em Permissões, expanda Alterar função de execução padrão. Crie uma função de execução ou use uma existente.

  6. (Opcional) Expanda Advanced settings (Configurações avançadas). Você pode escolher umConfiguração de assinatura de códigopara a função do. Você também pode configurar um (Amazon VPC) para que a função acesse.

  7. Escolha a opção Criar função.

O Lambda cria a nova função. Agora é possível usar o console do para adicionar o código da função e configurar outros parâmetros e recursos da função. Para obter instruções sobre implantação de código, consulte a página do manipulador de runtime que a função usa.

Node.js

Implantar funções do Lambda em Node.js com arquivos .zip

Python

Trabalhar com arquivos .zip para funções do Lambda em Python

Ruby

Como trabalhar com arquivos .zip para funções do Lambda em Ruby

Java

Implantar funções do Lambda em Java com arquivos .zip ou JAR

Go

Implantar funções do Lambda em Go com arquivos .zip

C#

Criar e implantar funções do Lambda em C# com arquivos .zip

PowerShell

Implemente funções PowerShell Lambda com arquivos de arquivos.zip

Usando o editor de código do console

O console cria uma função do Lambda com um único arquivo de origem. Para linguagens de desenvolvimento de scripts, você pode editar esse arquivo e adicionar mais arquivos usando o editor de códigos integrado. Para salvar suas alterações, selecione Salvar. Em seguida, para executar seu código, escolhaTeste.

nota

O console do Lambda usa o AWS Cloud9 para fornecer um ambiente de desenvolvimento integrado no navegador. Você também pode usar o AWS Cloud9 para desenvolver funções do Lambda em seu próprio ambiente. Para obter mais informações, consulte Working with AWS Lambda functions using the AWS Toolkit no Guia do usuário do AWS Cloud9.

Quando você salva seu código de função, o console do Lambda cria um pacote de implantação de arquivos .zip. Quando desenvolver o código de função fora do console (usando um IDE), você precisará criar um pacote de implantação para carregar o código na função do Lambda.

Atualizar código de função

Para linguagens de desenvolvimento de scripts (Node.js, Python, e Ruby), você pode editar o código de sua função no editor de código incorporado. Se o tamanho do código for superior a 3 MB, se você precisar adicionar bibliotecas ou para linguagens incompatíveis com o editor (Java, Go, C#), é necessário fazer upload do código da função como um arquivo.zip. Se o arquivo .zip for menor que 50 MB, você poderá fazer upload do arquivo .zip da sua máquina local. Se o arquivo for maior que 50 MB, faça upload do arquivo para a função desde um bucket do Amazon S3.

Para carregar código de função como um arquivo.zip
  1. Abra a página Funções do console do Lambda.

  2. Escolha a função a ser atualizada e escolha aCódigoGuia.

  3. Em Fonte de código), escolha Fazer upload de.

  4. Escolha .zip file (Arquivo .zip) e, em seguida, escolha Upload (Fazer upload).

    1. No seletor de arquivos, selecione a nova versão da imagem e escolha Open (Abrir) e, em seguida, Save (Salvar).

  5. (Alternativa à etapa 4) EscolhaLocalização do Amazon S3.

    1. Na caixa de texto, insira o URL do link do S3 do arquivamento de arquivo.zip e, depois, escolhaSave (Salvar).

Como alterar o runtime

Se você atualizar a configuração da função para usar um novo runtime, talvez seja necessário atualizar o código da função para ser compatível com o novo runtime. Ao atualizar a configuração da função para usar um runtime diferente, você deverá fornecer um novo código de função compatível com o runtime e a arquitetura. Para obter instruções de como criar um pacote de implantação para o código da função, consulte a página do manipulador para o runtime usado pela função.

Para alterar o runtime
  1. Abra a página Funções do console do Lambda.

  2. Escolha a função a ser atualizada e escolha aCódigoGuia.

  3. Role para baixo até a seção Configurações de runtime abaixo do editor de código.

  4. Selecione a opção Editar.

    1. Em Runtime, selecione o identificador de runtime.

    2. Em Handler (Manipulador), especifique o manipulador de sua função.

    3. Em Architecture (Arquitetura), escolha a arquitetura do conjunto de instruções a ser usado para sua função.

  5. Escolha Salvar.

Alterar a arquitetura

Antes de alterar a arquitetura do conjunto de instruções, é necessário garantir que o código da função seja compatível com a arquitetura de destino.

Se você usa Node.js, Python ou Ruby e edita o código da sua função no editor integrado, o código existente poderá ser executado sem modificação.

No entanto, se você fornecer seu código de função usando um pacote de implantação de arquivo.zip, deverá preparar um novo arquivo .zip compilado e criado corretamente para o runtime de destino e a arquitetura do conjunto de instruções. Para obter instruções, consulte a página do manipulador do runtime da sua função.

Para alterar a arquitetura do conjunto de instruções
  1. Abra a página Funções do console do Lambda.

  2. Escolha a função a ser atualizada e escolha aCódigoGuia.

  3. SobConfigurações de execução, escolhaEdite.

  4. Em Architecture (Arquitetura), escolha a arquitetura do conjunto de instruções a ser usado para sua função.

  5. Escolha Salvar.

Usar a API do Lambda

Para criar e configurar uma função que usa um arquivo .zip, use as seguintes operações de API:

AWS CloudFormation

Você pode usarAWS CloudFormationComo criar uma função do Lambda que usa um arquivo .zip. No seu modelo do AWS CloudFormation, o recurso AWS::Lambda::Function especifica a função do Lambda. Para obter descrições das propriedades no recurso AWS::Lambda::Function, consulte AWS::Lambda::Function no Manual do usuário do AWS CloudFormation.

No recurso AWS::Lambda::Function, defina as seguintes propriedades para criar uma função definida como um arquivo .zip:

  • AWS::Lambda::Function

    • PackageType: definido como Zip.

    • Código — Insira o nome do bucket do Amazon S3 e o nome do arquivo.zip na caixaS3BucketeS3Keycampos. Para Node.js ou Python, você pode fornecer código-fonte inline da sua função do Lambda.

    • Runtime: defina o valor do runtime.

    • Arquitetura: defina o valor da arquitetura como arm64 para usar o processador AWS Graviton2. Por padrão, o valor da arquitetura é x86_64.