Conceitos do Lambda - AWS Lambda

Conceitos do Lambda

Com o Lambda, você executa funções para processar eventos. Para enviar eventos para a função, você pode invocá-la usando a API do Lambda ou pode 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.

Para obter mais informações, consulte Gerenciar funções do AWS Lambda.

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 obter mais informações, consulte Versões de função do Lambda.

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 obter mais informações, consulte Ambiente de execução do AWS Lambda.

Pacote de implantação

Você implanta o código da função do Lambda usando um pacote de implantação. O Lambda é compatível com dois tipos de pacotes de implantação:

  • Um arquivo de arquivo.zip com o código da função e respectivas 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 obter mais informações, consulte Pacotes de implantação do Lambda.

Camada

Uma camada do Lambda é um arquivo .zip que contém bibliotecas, um tempo de execução personalizado ou outras dependências. Você pode usar uma camada para distribuir uma dependência para várias funções. Você não usa camadas com imagens de contêiner. 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 obter mais informações, consulte Camadas do AWS Lambda.

Tempo de execução

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 obter mais informações, consulte Tempos de execução 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 um amplo conjunto de ferramentas fornecidas pelos parceiros do AWS Lambda 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 obter mais informações, consulte Usar extensõ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.

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 obter mais informações, consulte Gerenciar a simultaneidade para uma função do Lambda.

Trigger

Um trigger é um recurso ou uma configuração que invoca uma função do Lambda. Isso inclui serviços da AWS que podem ser configurados para invocar uma função, aplicações que você desenvolve e mapeamentos da fonte de eventos. 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 Chamada de funções do AWS Lambda e Usar o AWS Lambda com outros serviços.