

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: Envie eventos para o Amazon Kinesis usando esquemas EventBridge
<a name="eb-relay-events-kinesis-stream"></a>

Você pode enviar [eventos](eb-events.md) de chamada de AWS API EventBridge para um [stream do Amazon Kinesis](https://docs.aws.amazon.com/streams/latest/dev/introduction.html), criar aplicativos do Kinesis Data Streams e processar grandes quantidades de dados. Neste tutorial, você cria um stream do Kinesis e, em seguida, cria uma [regra](eb-rules.md) no EventBridge console que envia eventos para esse stream quando uma EC2 instância da [Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) é interrompida.

**Topics**
+ [Pré-requisitos](#eb-stream-prerequisite)
+ [Etapa 1: criar um fluxo do Amazon Kinesis](#eb-stream-create-stream)
+ [Etapa 2: Criar uma regra](#eb-stream-create-rule)
+ [Etapa 3: Testar a regra](#eb-stream-test-rule)
+ [Etapa 4: verificar se o evento foi enviado](#eb-stream-verify-event)
+ [Etapa 5: limpar os recursos](#cleanup)

## Pré-requisitos
<a name="eb-stream-prerequisite"></a>

Neste tutorial, use o seguinte:
+ Use o AWS CLI para trabalhar com os streams do Kinesis.

  Para instalar o AWS CLI, consulte [Instalando, atualizando e desinstalando a AWS CLI versão 2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html).

**nota**  
Este tutorial usa AWS eventos e o registro de `aws.events` esquema incorporado. Você também pode criar uma EventBridge regra com base no esquema de seus eventos personalizados adicionando-os manualmente a um registro de esquema personalizado ou usando a descoberta de esquemas.   
Para obter mais informações sobre esquemas, consulte [Esquemas do Amazon EventBridge](eb-schema.md). Para obter mais informações sobre como criar uma regra usando outras opções de padrões de eventos, consulte [Criação de regras na Amazon EventBridge](eb-create-rule-visual.md)

## Etapa 1: criar um fluxo do Amazon Kinesis
<a name="eb-stream-create-stream"></a>

Para criar um stream, em um prompt de comando, use o `create-stream` AWS CLI comando.

```
aws kinesis create-stream --stream-name test --shard-count 1
```

Quando o status do fluxo é `ACTIVE`, ele está pronto. Para verificar o status do fluxo, use o comando `describe-stream`.

```
aws kinesis describe-stream --stream-name test
```

## Etapa 2: Criar uma regra
<a name="eb-stream-create-rule"></a>

Crie uma regra para enviar eventos ao seu stream ao interromper uma EC2 instância da Amazon.

**Para criar uma regra do**

1. Abra o EventBridge console da Amazon 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. Por exemplo, nomeie a regra como `TestRule`

1. Em **Barramento de eventos**, selecione **padrão**.

1. Em **Rule type**, escolha **Rule with an event pattern**.

1. Escolha **Próximo**.

1. Em **Origem do evento**, escolha **AWS eventos ou eventos de EventBridge parceiros**.

1. Em **Método de criação**, escolha **Usar esquema**.

1. Em **Event pattern** (Padrão de evento), faça o seguinte:

   1. Em **Tipo de esquema**, escolha **Selecionar esquema no registro do esquema**.

   1. Para **Registro do esquema**, escolha **aws.events** na lista suspensa.

   1. Para **Esquema**, escolha **aws.ec2@ EC2 InstanceStateChangeNotification** na lista suspensa.

      EventBridge exibe o esquema do evento em **Modelos**.

      EventBridge exibe um asterisco vermelho ao lado de todas as propriedades necessárias *para o evento*, não para o padrão do evento. 

   1. Em **Modelos**, defina as seguintes propriedades do filtro de eventos: 

      1. Selecione **\$1 Editar** ao lado da propriedade de **estado**. 

         Deixe o **Relacionamento** vazio. Em **Valor**, insira `running`. Escolha **Definir**. 

      1. Selecione **\$1 Editar** ao lado da propriedade de **origem**. 

         Deixe o **Relacionamento** vazio. Em **Valor**, insira `aws.ec2`. Escolha **Definir**. 

      1. Selecione **\$1 Editar** ao lado da propriedade do **tipo de detalhe**. 

         Deixe o **Relacionamento** vazio. Em **Valor**, insira `EC2 Instance State-change Notification`. Escolha **Definir**. 

   1. Para ver o padrão de evento que você construiu, escolha **Gerar padrão de evento em JSON**

      EventBridge exibe o padrão do evento em JSON:

      ```
      {
        "detail": {
          "state": ["running"]
        },
        "detail-type": ["EC2 Instance State-change Notification"],
        "source": ["aws.ec2"]
      }
      ```

1. Escolha **Próximo**.

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

1. Em **Selecionar um destino**, escolha a **o fluxo do Kinesis** na lista suspensa.

1. Para **Fluxo**, selecione o fluxo do Kinesis que foi criado na seção **Etapa 1: criar um fluxo do Amazon Kinesis**. Neste exemplo, selecione `test`.

1. Em **Perfil de execução**, escolha **Criar um novo perfil para este recurso específico**.

1. Escolha **Próximo**.

1. Escolha **Próximo**.

1. Analise os detalhes da regra e selecione **Criar regra**.

## Etapa 3: Testar a regra
<a name="eb-stream-test-rule"></a>

Para testar sua regra, interrompa uma EC2 instância da Amazon. Aguarde alguns minutos até que a instância pare e, em seguida, verifique suas CloudWatch métricas para verificar se sua função foi executada.

**Como testar a regra ao parar uma instância**

1. Abra o EC2 console da Amazon em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Execute uma instância. Para obter mais informações, consulte [Launch Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) no *Guia EC2 do usuário da Amazon*.

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

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

   Escolha o nome da regra que você criou e escolha **Metrics for the rule (Métricas para a regra)**.

1. (Opcional) Ao terminar, encerre a instância. Para obter mais informações, consulte [Encerre sua instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html) no *Guia do EC2 usuário da Amazon*.

## Etapa 4: verificar se o evento foi enviado
<a name="eb-stream-verify-event"></a>

Você pode usar o AWS CLI para obter o registro do stream para verificar se o evento foi enviado.

**Como obter o registro**

1. Para começar a ler do seu fluxo do Kinesis, use o comando em um prompt de comando `get-shard-iterator`.

   ```
   aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name test
   ```

   O seguinte é um exemplo de saída.

   ```
   {
       "ShardIterator": "AAAAAAAAAAHSywljv0zEgPX4NyKdZ5wryMzP9yALs8NeKbUjp1IxtZs1Sp+KEd9I6AJ9ZG4lNR1EMi+9Md/nHvtLyxpfhEzYvkTZ4D9DQVz/mBYWRO6OTZRKnW9gd+efGN2aHFdkH1rJl4BL9Wyrk+ghYG22D2T1Da2EyNSH1+LAbK33gQweTJADBdyMwlo5r6PqcP2dzhg="
   }
   ```

1. Para obter o registro, use o comando `get-records` a seguir. Use o iterador de fragmentos da saída na etapa anterior.

   ```
   aws kinesis get-records --shard-iterator AAAAAAAAAAHSywljv0zEgPX4NyKdZ5wryMzP9yALs8NeKbUjp1IxtZs1Sp+KEd9I6AJ9ZG4lNR1EMi+9Md/nHvtLyxpfhEzYvkTZ4D9DQVz/mBYWRO6OTZRKnW9gd+efGN2aHFdkH1rJl4BL9Wyrk+ghYG22D2T1Da2EyNSH1+LAbK33gQweTJADBdyMwlo5r6PqcP2dzhg=
   ```

   Se o comando for bem-sucedido, ele solicitará registros do seu fluxo para o estilhaço especificado. Você pode receber zero ou mais registros. Os registros retornados podem não representar todos os registros em seu fluxo. Se você não receber os dados esperados, continue a chamar `get-records`. 

1. Os registros no Kinesis são codificados por Base64. Use um decodificador Base64 para decodificar os dados para que você possa verificar se é o evento que foi enviado ao fluxo no formato JSON.

## Etapa 5: limpar os recursos
<a name="cleanup"></a>

Agora você pode excluir os recursos criados para este tutorial, a menos que queira mantê-los. Ao excluir AWS recursos que você não está mais usando, você evita cobranças desnecessárias em sua AWS conta.

**Para excluir a (s) EventBridge regra (s)**

1. Abra a [página Regras](https://console.aws.amazon.com/events/home#/rules) do EventBridge console.

1. Selecione as regras que foram criadas.

1. Escolha **Excluir**.

1. Escolha **Excluir**.

**Para excluir fluxos do Kinesis**

1. Abra a página [Fluxo de dados](https://console.aws.amazon.com/kinesis/home#/streams/list) do console do Kinesis.

1. Selecione os fluxos criados.

1. Selecione **Ações**, **Excluir**.

1. Insira **excluir** no campo e escolha **Excluir**.