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 acionadores. 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 Alexa

Conduzido por eventos; invocação síncrona

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 CloudFront (Lambda@Edge)

Conduzido por eventos; invocação sí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

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

Conduzido por eventos; invocação síncrona

Amazon VPC Lattice

Conduzido por eventos; invocação síncrona

AWS X-Ray

Integração especial