Invocando o Lambda com eventos de outros serviços da AWS - AWS Lambda

Invocando o Lambda com eventos de outros serviços da AWS

Alguns Serviços da AWS podem invocar diretamente as funções do Lambda usando gatilhos. Esses serviços enviam eventos para o Lambda, e a função é invocada imediatamente quando o evento especificado ocorre. Os acionadores são adequados para eventos discretos e processamento em tempo real. Quando você cria um acionador usando o console do Lambda, o console interage com o serviço da AWS correspondente para configurar a notificação de eventos nesse serviço. Na verdade, o acionador é armazenado e gerenciado pelo serviço que gera os eventos, não pelo Lambda.

Os eventos são dados estruturados em formato JSON. A estrutura JSON varia dependendo do serviço que a gera e do tipo de evento, mas todos eles contêm os dados que a função precisa para processar o evento.

Uma função pode ter vários gatilhos. Cada acionador atua como um cliente ao invocar a função de forma independente, e cada evento que o Lambda transmite para a função tem dados de somente um acionador. O Lambda converte o documento do evento em um objeto e o transmite ao manipulador da função.

Dependendo do serviço, a invocação conduzida por eventos pode ser síncrona ou assíncrona.

  • Para a invocação síncrona, o serviço que gera o evento aguarda a resposta da sua função. Esse serviço define os dados que a função precisa retornar na resposta. O serviço controla a estratégia de erro, como se deve tentar novamente em erros.

  • Para a invocação assíncrona, o Lambda coloca o evento em filas antes de transmiti-lo para a função. Quando o Lambda coloca o evento em fila, ele envia imediatamente uma resposta bem-sucedida para o serviço que gerou o evento. Depois que a função processa o evento, o Lambda não retorna uma resposta ao serviço de geração de eventos.

Criar um acionador

A maneira mais fácil de criar um acionador é usar o console do Lambda. Quando você cria um acionador usando o console, o Lambda adiciona automaticamente as permissões necessárias à política baseada em recursos da função.

Para criar um acionador usando o console do Lambda
  1. Abra a página Funções do console do Lambda.

  2. Selecione a função para a qual deseja criar um acionador.

  3. No painel Visão geral da função, escolha Adicionar gatilho.

  4. Selecione o serviço da AWS no qual deseja invocar a função.

  5. Preencha as opções no painel Configuração de acionador e escolha Adicionar. Dependendo do AWS service (Serviço da AWS) que você escolher para invocar a função, as opções de configuração do acionador serão diferentes.

A tabela a seguir lista os serviços que podem invocar funções do Lambda.

Serviço Método de invocação

Amazon Managed Streaming para Apache Kafka

Mapeamento de origem de evento

Apache Kafka autogerenciado

Mapeamento de origem de evento

Amazon API Gateway

Conduzido por eventos; invocação síncrona

AWS CloudFormation

Conduzido por eventos; invocação assíncrona

Amazon CloudWatch Logs

Conduzido por eventos; invocação assíncrona

AWS CodeCommit

Conduzido por eventos; invocação assíncrona

AWS CodePipeline

Conduzido por eventos; invocação assíncrona

Amazon Cognito

Conduzido por eventos; invocação síncrona

AWS Config

Conduzido por eventos; invocação assíncrona

Amazon Connect

Conduzido por eventos; invocação síncrona

Amazon DynamoDB

Mapeamento de origem de evento

Amazon Elastic File System

Integração especial

Elastic Load Balancing (Application Load Balancer)

Conduzido por eventos; invocação síncrona

Amazon EventBridge (CloudWatch Events)

Acionado por evento; invocação assíncrona (barramentos de eventos), invocação síncrona ou assíncrona (canais e agendas)

AWS IoT

Conduzido por eventos; invocação assíncrona

Amazon Kinesis

Mapeamento de origem de evento

Amazon Data Firehose

Conduzido por eventos; invocação síncrona

Amazon Lex

Conduzido por eventos; invocação síncrona

Amazon MQ

Mapeamento de origem de evento

Amazon Simple Email Service

Conduzido por eventos; invocação assíncrona

Amazon Simple Notification Service

Conduzido por eventos; invocação assíncrona

Amazon Simple Queue Service

Mapeamento de origem de evento

Amazon Simple Storage Service (Amazon S3)

Conduzido por eventos; invocação assíncrona

Amazon Simple Storage Service Batch

Conduzido por eventos; invocação síncrona

Secrets Manager

Integração especial

AWS Step Functions

Invocação síncrona ou assíncrona, acionada por evento

Amazon VPC Lattice

Conduzido por eventos; invocação síncrona

AWS X-Ray

Integração especial