Conceitos 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á.

Conceitos Lambda

O Lambda executa instâncias de sua função para processar eventos. É possível invocar a função diretamente usando a API do Lambda ou configurar um serviço da AWS ou um recurso para invocá-la.

Função

Uma função é um recurso que você pode invocar para executar o código no Lambda. Uma função tem código para processar os eventos que você transmite para a função ou que outros serviços da AWS enviam para a função.

Trigger

Um acionador é um recurso ou uma configuração que invoca uma função do Lambda. Acionadores incluem serviços da AWS que podem ser configurados para invocar uma função e mapeamentos da fonte do evento. Um mapeamento da fonte do evento é um recurso no Lambda que lê itens de um fluxo ou de uma fila e invoca uma função. Para obter mais informações, consulte Usar o AWS Lambda com outros serviços e Chamada de funções do Lambda.

Evento

Um evento é um documento no formato JSON que contém dados para uma função do Lambda processar. O tempo de execução converte o evento em um objeto e o transmite para o código da função. Ao invocar uma função, você determina a estrutura e o conteúdo do evento.

exemplo evento personalizado – dados climáticos
{ "TemperatureK": 281, "WindKmh": -3, "HumidityPct": 0.55, "PressureHPa": 1020 }

Quando um serviço da AWS invoca a função, ele define a forma do evento.

exemplo Evento de serviço — Notificação do Amazon SNS
{ "Records": [ { "Sns": { "Timestamp": "2019-01-02T12:45:07.000Z", "Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "Message": "Hello from SNS!", ...

Para obter mais informações sobre eventos de serviços da AWS, consulte Usar o AWS Lambda com outros serviços.

Ambiente de execução

Um ambiente de execução fornece um ambiente de execução seguro e isolado para a função do Lambda. Um ambiente de execução gerencia os processos e recursos necessários para executar a função. O ambiente de execução fornece suporte ao ciclo de vida para a função e a qualquer extensão associada à função.

Para ter mais informações, consulte Ambiente de execução do Lambda.

arquiteturas de conjunto de instruções

A arquitetura do conjunto de instruções determina o tipo de processador de computador que o Lambda usa para executar a função. O Lambda fornece opções de arquiteturas de conjuntos de instruções:

  • arm64: arquitetura ARM de 64 bits para o processador AWS Graviton2.

  • x86_64: arquitetura x86 de 64 bits para processadores baseados em x86.

Para ter mais informações, consulte Arquiteturas de conjuntos de instruções do Lambda (ARM/x86).

Pacote de implantação

Você implanta o código da função Lambda usando umpacote de implantação. O Lambda oferece suporte a dois tipos de pacote de implantação:

  • Um arquivo .zip que contém o código da função e suas dependências. O Lambda fornece o sistema operacional e o tempo de execução para sua função.

  • Uma imagem de contêiner compatível com a especificação Open Container Initiative (OCI). Você adiciona o código da função e as dependências à imagem. Também é necessário incluir o sistema operacional e um tempo de execução do Lambda.

Para ter mais informações, consulte Pacotes de implantação do Lambda.

Runtime

O tempo de execução fornece um ambiente específico de linguagem que é executado no ambiente de execução. O tempo de execução transmite eventos de invocação, informações de contexto e respostas entre o Lambda e a função. Você pode usar tempos de execução fornecidos pelo Lambda ou criar seus próprios. Se você empacotar seu código como um arquivo de arquivo.zip, você deve configurar sua função para usar um tempo de execução que corresponda à sua linguagem de programação. Para uma imagem de contêiner, você inclui o tempo de execução ao compilar a imagem.

Para ter mais informações, consulte Runtimes do Lambda.

Camada

Uma camada do Lambda é um arquivo .zip que pode conter código adicional ou outro conteúdo. Uma camada pode conter bibliotecas, um runtime personalizado, dados ou arquivos de configuração.

As camadas fornecem uma maneira conveniente de empacotar bibliotecas e outras dependências que você pode usar com suas funções do Lambda. O uso de camadas reduz o tamanho dos arquivos de implantação carregados e acelera a implantação do código. As camadas também promovem o compartilhamento de código e a separação de responsabilidades para que você possa iterar mais rapidamente na escrita da lógica de negócios.

Você pode incluir até cinco camadas por função. As camadas contam para as cotas de tamanho de implantação padrão do Lambda. Quando você inclui uma camada em uma função, o conteúdo é extraído para o diretório /opt no ambiente de execução.

Por padrão, as camadas que você cria são privadas na sua conta da AWS. Você pode optar por compartilhar uma camada com outras contas ou tornar a camada pública. Se suas funções consomem uma camada que uma conta diferente publicou, suas funções poderão continuar a usar a versão da camada depois que ela tiver sido excluída ou depois que sua permissão para acessar a camada for revogada. No entanto, você não pode criar uma nova função ou atualizar funções usando uma versão de camada excluída.

Funções implantadas como uma imagem de contêiner não usam camadas. Em vez disso, você empacota seu tempo de execução preferido, bibliotecas e outras dependências na imagem do contêiner ao criar a imagem.

Para ter mais informações, consulte Trabalhar com camadas do Lambda.

Extensão

As extensões do Lambda permitem que você aumente as funções. Por exemplo, você pode usar extensões para integrar as funções com suas ferramentas preferidas de monitoramento, observação, segurança e governança. Você pode escolher entre várias ferramentas que os parceiros do AWS Lambda fornecem, ou pode criar suas próprias extensões do Lambda.

Uma extensão interna é executada no processo de tempo de execução e compartilha o mesmo ciclo de vida que o tempo de execução. Uma extensão externa é executada como um processo separado no ambiente de execução. A extensão externa é inicializada antes que a função seja invocada, é executada em paralelo com o tempo de execução da função e continua a ser executada após a conclusão da invocação da função.

Para ter mais informações, consulte Extensões do Lambda.

Simultaneidade

Simultaneidade é o número de solicitações que a função atende a cada momento. Quando a função é invocada, o Lambda provisiona uma instância se ela processar o evento. Quando a execução do código da função terminar, ela poderá processar outra solicitação. Se a função for invocada novamente enquanto uma solicitação ainda estiver sendo processada, outra instância será provisionada, aumentando a simultaneidade da função.

A simultaneidade está sujeita a cotas no nível da região da AWS. É possível configurar funções individuais limitando sua simultaneidade ou permitindo que elas alcancem um nível específico de simultaneidade. Para ter mais informações, consulte Configurar a simultaneidade reservada.

Qualifier

Ao chamar ou visualizar uma função, é possível incluir um qualificador para especificar uma versão ou um alias. Uma versão é um snapshot imutável da configuração e do código de uma função que tem um qualificador numérico. Por exemplo, my-function:1. Um alias é um ponteiro para uma versão que pode ser atualizado para mapear para uma versão diferente ou dividir o tráfego entre duas versões. Por exemplo, my-function:BLUE. É possível usar versões e aliases em conjunto para fornecer uma interface estável para os clientes chamarem sua função.

Para ter mais informações, consulte Versões da função do Lambda.

Destino

Adestinationé umAWSonde o Lambda pode enviar eventos de uma invocação assíncrona. É possível configurar um destino para eventos que tiveram falha no processamento. Alguns serviços também oferecem suporte a um destino para eventos que são processados com êxito.

Para ter mais informações, consulte Configurar destinos para invocação assíncrona.