Pacotes de implantação do Lambda - AWS Lambda

Pacotes de implantação do Lambda

O código da função do AWS Lambda consiste em scripts ou programas compilados e as dependências deles. Você usa umpacote de implantaçãopara implantar seu código de função no Lambda. O Lambda é compatível com dois tipos de pacotes de implantação: imagens de contêiner e arquivos .zip.

Imagens de contêiner

Uma imagem de contêiner inclui o sistema operacional de base, o runtime, as extensões do Lambda, o código da aplicação e dependências dele. Você também pode adicionar dados estáticos, como modelos de machine learning, à imagem.

O Lambda oferece um conjunto de imagens de base de código aberto que você pode usar para criar a imagem de contêiner. Para criar e testar imagens de contêiner, você pode usar a interface da linha de comando AWS Serverless Application Model (AWS SAM) (CLI) ou ferramentas nativas de contêiner, como a CLI do Docker.

Faça upload de suas imagens de contêiner para o Amazon Elastic Container Registry (Amazon ECR), um serviço gerenciado de registro de imagens de contêiner da AWS. Para implantar a imagem em sua função, especifique o URL da imagem do Amazon ECR usando o console do Lambda, a API do Lambda, as ferramentas da linha de comando ou os AWS SDKs.

Para obter mais informações sobre imagens de contêiner do Lambda, consulte Criar uma função do Lambda usando uma imagem de contêiner.

Arquivos .zip

Um arquivo .zip inclui o código da aplicação e as dependências dele. Quando você cria funções usando o console do Lambda ou um toolkit, o Lambda cria automaticamente um arquivo .zip do seu código.

Quando você cria funções com a API do Lambda, ferramentas da linha de comando ou AWS SDKs, é necessário criar o pacote de implantação. Também será necessário criar um pacote de implantação se sua função usar uma linguagem compilada ou para adicionar dependências a ela. Para implantar o código da sua função, faça upload do pacote de implantação do Amazon Simple Storage Service (Amazon S3) ou de sua máquina local.

Você pode fazer o upload de um arquivo .zip como seu pacote de implantação usando o console do Lambda,AWS Command Line Interface(AWS CLI) ou para um bucket do Amazon Simple Storage Service (Amazon S3).

Usar o console do Lambda

As etapas a seguir demonstram como fazer o upload de um arquivo .zip como seu pacote de implantação usando o console do Lambda.

Para fazer o upload de um arquivo .zip no console do Lambda
  1. Abra a página Functions (Funções) no console do Lambda.

  2. Selecione uma função.

  3. NoCódigo-fonte, selecioneFazer upload dee, em seguida.zip.

  4. Escolha Upload (Carregar) para escolher seu arquivo .zip local.

  5. Escolha Salvar.

Usando a AWS CLI

Você pode fazer o upload de um arquivo .zip como seu pacote de implantação usando o AWS Command Line Interface (AWS CLI). Para obter instruções específicas de linguagem, consulte os tópicos a seguir.

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

Uso do Amazon S3

Você pode fazer o upload de um arquivo .zip como seu pacote de implantação usando o Amazon Simple Storage Service (Amazon S3). Para ter mais informações, consulte Usando outros serviços do AWS para criar um pacote de implantação.

Camadas

Se você implantar seu código de função usando um arquivo .zip, poderá usar camadas do Lambda como mecanismo de distribuição para bibliotecas, tempos de execução personalizados e outras dependências de função. As camadas permitem que você gerencie seu código de função no desenvolvimento de modo independente do código inalterável e dos recursos que ele usa. Você pode configurar a função para usar camadas que você criar, camadas fornecidas pela AWS ou camadas de outros clientes da AWS.

Não é possível usar camadas com imagens de contêiner. Em vez disso, empacote seu runtime, bibliotecas e outras dependências de sua preferência na imagem do contêiner ao compilar a imagem.

Para obter mais informações sobre camadas, consulte Gerenciar dependências do Lambda com camadas.

Usando outros serviços do AWS para criar um pacote de implantação

A seção a seguir descreve outros serviços do AWS que você pode usar para empacotar dependências para a função do seu Lambda.

Pacotes de implantação com bibliotecas C ou C++

Se o pacote de implantação contiver bibliotecas nativas, você poderá criar o pacote de implantação com o AWS Serverless Application Model (AWS SAM). É possível usar o comando sam build da CLI do AWS SAM com --use-container para criar seu pacote de implantação. Essa opção cria um pacote de implantação dentro de uma imagem do Docker compatível com o ambiente de execução do Lambda.

Para obter mais informações, consulte sam build no Guia do desenvolvedor do AWS Serverless Application Model.

Pacotes de implantação com mais de 50 MB

Se o pacote de implantação for maior que 50 MB, carregue o código de função e as dependências para um bucket do Amazon S3.

Você pode criar um pacote de implantação e fazer upload do arquivo .zip para seu bucket do Amazon S3 na região da AWS em que você quer criar uma função do Lambda. Ao criar sua função do Lambda, especifique o nome do bucket do S3 e o nome da chave do objeto no console do Lambda ou usando oAWS CLI.

Para criar um bucket usando o console do Amazon S3, consulte Como criar um bucket no Guia do usuário do console do Amazon Simple Storage Service.