

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

# Tutorial: recepcionar eventos de trabalho do AWS Batch usando o EventBridge
<a name="batch_cwet"></a>

Neste tutorial, você irá configurar uma AWS Lambda função simples para receptar AWS Batch eventos de trabalho e registrá-los em um fluxo de logs CloudWatch Logs.

## Pré-requisitos
<a name="cwet_prereqs"></a>

Este tutorial pressupõe um ambiente de computação e uma fila de tarefas prontas para aceitar tarefas. Caso você não tenha um ambiente de computação e fila de trabalho em execução do qual capturar eventos, siga as etapas em [Introdução aos AWS Batch tutoriais](Batch_GetStarted.md) para criar um. Ao final deste tutorial, você poderá enviar opcionalmente uma tarefa para essa fila e testar se configurou a função do Lambda corretamente. 

**Topics**
+ [

## Pré-requisitos
](#cwet_prereqs)
+ [

# Tutorial: criar a função do Lambda
](cwet_create_lam.md)
+ [

# Tutorial: registrar a regra do evento
](cwet_register_event_rule.md)
+ [

# Tutorial: testar sua configuração
](cwet_test.md)

# Tutorial: criar a função do Lambda
<a name="cwet_create_lam"></a>

 Neste procedimento, você criará uma função do Lambda simples para funcionar como destino AWS Batch de mensagens do fluxo de eventos. 

**Para criar uma função do Lambda de destino**

1. Abra o console AWS Lambda em [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Escolha **Criar Função** e, em seguida, **Criar do Início**. 

1. Para **Nome da Função**, insira **batch-event-stream-handler**.

1. Para**Runtime**, escolha **Python 3.8**.

1. Escolha **Criar Função**.

1. Na seção **Fonte do Código**, edite o código de amostra de acordo com o exemplo a seguir:

   ```
   import json
   
   
   def lambda_handler(event, _context):
       # _context is not used
       del _context
       if event["source"] != "aws.batch":
           raise ValueError("Function only supports input from events with a source type of: aws.batch")
   
       print(json.dumps(event))
   ```

   Essa é uma função Python 3.8 simples, que imprime eventos enviados por AWS Batch. Se tudo estiver configurado corretamente, no final deste tutorial, os detalhes do evento aparecerão no fluxo de log do CloudWatch Logs associado a essa função do Lambda.

1. Escolha **Implantar**.

# Tutorial: registrar a regra do evento
<a name="cwet_register_event_rule"></a>

Nesta seção, você criará uma regra de evento EventBridge que captura eventos de trabalho vindos dos seus recursos AWS Batch. Esta regra captura todos os eventos vindos de AWS Batch dentro da conta na qual estiver definida. As próprias mensagens de trabalho contêm informações sobre a origem do evento, inclusive fila de trabalhos onde foi inserido. Você pode usar essa informação para filtrar e classificar eventos de forma programática.

**nota**  
Caso use o Console de gerenciamento da AWS para criar uma regra de evento, o console adicionará automaticamente as permissões do IAM ao EventBridge para chamar sua função do Lambda. No entanto, se criar uma regra de evento usando AWS CLI, você deverá conceder permissões explicitamente. Para mais informações, consulte [Eventos e Padrões de Evento](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html) no *Guia de Usuário Amazon EventBridge*.

**Para criar sua regra EventBridge**

1. Abra o console Amazon EventBridge em [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. No painel de navegação, escolha **Regras**.

1. Escolha **Create rule**.

1. Insira um nome e uma descrição para a regra.

   Uma regra não pode ter o mesmo nome que outra na mesma Região e barramento de eventos.

1. Em **Barramento de eventos**, selecione o barramento de eventos que você deseja associar a essa regra. Se quiser que essa regra faça a correspondência com eventos provenientes da sua conta, escolha **Barramento de eventos padrão da AWS**. Quando um serviço AWS em sua conta emite um evento, ele sempre irá para o barramento de eventos padrão da conta.

1. Em **Tipo de Regra**, escolha **Regra com Padrão de Evento**.

1. Escolha **Próximo**.

1. Em **Origem do Evento**, escolha **Outro**.

1. Em **Padrão de eventos**, selecione **Padrões personalizados (editor JSON)**.

1. Cole o padrão de evento a seguir na área de texto.

   ```
   {
     "source": [
       "aws.batch"
     ]
   }
   ```

   Essa regra se aplica a todos os grupos AWS Batch e a cada evento AWS Batch. Como alternativa, você pode criar uma regra mais específica para filtrar resultados.

1. Escolha **Próximo**.

1. Em **Tipos de Destino**, escolha **AWS Serviço**.

1. Em **Selecionar um Destino**, escolha **Função do Lambda** e selecione sua função.

1. (Opcional) Para **Configurações Adicionais**, proceda da seguinte forma:

   1. Em **Tempo Máximo do Evento**, insira um valor entre um minuto (00:01) e 24 horas (24:00).

   1. Em **Tentativas de Repetição**, insira um número entre 0 e 185.

   1. Em **Fila de mensagens não entregues**, escolha se será usada uma fila padrão do Amazon SQS como fila de mensagens não entregues. O EventBridge enviará eventos que correspondam a essa regra para a fila de mensagens não entregues caso não sejam entregues com êxito ao destino. Faça um dos procedimentos a seguir:
      + Escolha **Nenhum** para não usar uma fila de mensagens não entregues.
      + Escolha **Selecionar uma Fila Amazon SQS na Conta AWS Atual para usá-la como fila de mensagens não entregues** e então, na lista suspensa, selecione a fila a ser usada.
      + Escolha **Selecionar uma Fila Amazon SQS em qualquer outra AWS conta como fila de mensagens não entregues** e insira o ARN da fila a ser usada. Você deve anexar uma política baseada em recurso à fila responsável por conceder permissão ao EventBridge para enviar mensagens. Para mais informações, consulte [Concedendo Permissões à Fila de Mensagens Não Entregues](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-dlq.html#eb-dlq-perms) do *Guia de usuário Amazon EventBridge*.

1. Escolha **Próximo**.

1. (Opcional) Insira uma ou mais tags para a regra. Para mais informações, consulte [Tags Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tagging.html) em *Guia de Usuário Amazon EventBridge*.

1. Escolha **Próximo**.

1. Analise os detalhes da regra e escolha **Criar Regra**.

# Tutorial: testar sua configuração
<a name="cwet_test"></a>

Agora, você pode testar sua configuração EventBridge enviando uma tarefa para a fila de tarefas. Se tudo for configurado corretamente, sua função do Lambda será acionada e registrará os dados de eventos em um fluxo de logs CloudWatch Logs para a função.

**Para testar sua configuração**

1. Abra o console AWS Batch em [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Insira uma nova AWS Batch tarefa. Para mais informações, consulte [Tutorial: enviar um trabalho](submit_job.md).

1. Abra o console CloudWatch em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação, escolha **Logs** e selecione o grupo de logs para sua função do Lambda (por exemplo, **/aws/lambda/***my-function*).

1. Selecione um fluxo de log para visualizar os dados do evento. 