

# Invocando o Lambda com eventos de outros serviços da AWS
<a name="lambda-services"></a>

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](#lambda-invocation-trigger), 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](invocation-sync.md) ou [assíncrona](invocation-async.md).
+ 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 name="lambda-invocation-trigger"></a>

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](access-control-resource-based.md) da função.

**Para criar um acionador usando o console do Lambda**

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

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

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

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

1. 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.

## Serviços que podem invocar funções do Lambda
<a name="listing-of-services-and-links-to-more-information"></a>

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 for Apache Kafka](with-msk.md) | [Mapeamento de origem de evento](invocation-eventsourcemapping.md) | 
| [Apache Kafka autogerenciado](with-kafka.md) | [Mapeamento de origem de evento](invocation-eventsourcemapping.md) | 
| [Amazon API Gateway](services-apigateway.md) | Conduzido por eventos; invocação síncrona | 
| [AWS CloudFormation](services-cloudformation.md) | Conduzido por eventos; invocação assíncrona | 
| [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html#LambdaFunctionExample) | Conduzido por eventos; invocação assíncrona | 
| [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-notify-lambda-cc.html) | Conduzido por eventos; invocação assíncrona | 
| [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-invoke-lambda-function.html) | Conduzido por eventos; invocação assíncrona | 
| [Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-events.html) | Conduzido por eventos; invocação síncrona | 
| [AWS Config](governance-config.md) | Conduzido por eventos; invocação assíncrona | 
| [Amazon Connect](https://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html) | Conduzido por eventos; invocação síncrona | 
| [Amazon DocumentDB](with-documentdb.md) | [Mapeamento de origem de evento](invocation-eventsourcemapping.md) | 
| [Amazon DynamoDB](with-ddb.md) | [Mapeamento de origem de evento](invocation-eventsourcemapping.md) | 
| [Elastic Load Balancing (Application Load Balancer)](services-alb.md) | Conduzido por eventos; invocação síncrona | 
| [Amazon EventBridge (CloudWatch Events)](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) | Acionado por evento; invocação assíncrona (barramentos de eventos), invocação síncrona ou assíncrona (canais e agendas) | 
| [AWS IoT](services-iot.md) | Conduzido por eventos; invocação assíncrona | 
| [Amazon Kinesis](with-kinesis.md) | [Mapeamento de origem de evento](invocation-eventsourcemapping.md) | 
| [Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/data-transformation.html) | Conduzido por eventos; invocação síncrona | 
| [Amazon Lex](https://docs.aws.amazon.com/lexv2/latest/dg/lambda.html) | Conduzido por eventos; invocação síncrona | 
| [Amazon MQ](with-mq.md) | [Mapeamento de origem de evento](invocation-eventsourcemapping.md) | 
| [Amazon Simple Email Service](https://docs.aws.amazon.com/ses/latest/dg/receiving-email-action-lambda.html) | Conduzido por eventos; invocação assíncrona | 
| [Amazon Simple Notification Service](with-sns.md) | Conduzido por eventos; invocação assíncrona | 
| [Amazon Simple Queue Service](with-sqs.md) | [Mapeamento de origem de evento](invocation-eventsourcemapping.md) | 
| [Amazon Simple Storage Service (Amazon S3)](with-s3.md) | Conduzido por eventos; invocação assíncrona | 
| [Amazon Simple Storage Service Batch](services-s3-batch.md) | Conduzido por eventos; invocação síncrona | 
| [Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_lambda.html) | Rodízio de segredos | 
| [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/connect-lambda.html) | Invocação síncrona ou assíncrona, acionada por evento | 
| [Amazon VPC Lattice](https://docs.aws.amazon.com/vpc-lattice/latest/ug/lambda-functions.html) | Conduzido por eventos; invocação síncrona | 