

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Tutorial: invio di eventi ad Amazon Kinesis utilizzando schemi EventBridge
<a name="eb-relay-events-kinesis-stream"></a>

Puoi inviare [eventi](eb-events.md) di chiamata AWS API in EventBridge un [flusso Amazon Kinesis](https://docs.aws.amazon.com/streams/latest/dev/introduction.html), creare applicazioni Kinesis Data Streams ed elaborare grandi quantità di dati. In questo tutorial, crei uno stream Kinesis e poi crei una [regola](eb-rules.md) nella EventBridge console che invia eventi a quel flusso quando un' EC2istanza [Amazon si interrompe](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html).

**Topics**
+ [Prerequisiti](#eb-stream-prerequisite)
+ [Passaggio 1: creare un flusso Amazon Kinesis](#eb-stream-create-stream)
+ [Fase 2: Creazione di una regola](#eb-stream-create-rule)
+ [Fase 3: Test della regola](#eb-stream-test-rule)
+ [Passaggio 4: verificare l'invio dell'evento](#eb-stream-verify-event)
+ [Passaggio 5: eliminare le risorse](#cleanup)

## Prerequisiti
<a name="eb-stream-prerequisite"></a>

In questo tutorial, utilizzerai quanto segue:
+ Utilizzalo AWS CLI per lavorare con gli stream Kinesis.

  Per installare AWS CLI, consulta [Installazione, aggiornamento e disinstallazione della AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) versione 2.

**Nota**  
Questo tutorial utilizza AWS gli eventi e il registro `aws.events` dello schema integrato. È inoltre possibile creare una EventBridge regola basata sullo schema degli eventi personalizzati aggiungendoli manualmente a un registro degli schemi personalizzato o utilizzando l'individuazione dello schema.   
Per ulteriori informazioni sugli schemi, consulta [EventBridge Schemi Amazon](eb-schema.md). Per ulteriori informazioni sulla creazione di una regola utilizzando altre opzioni del modello di eventi, consulta [Creazione di regole in Amazon EventBridge](eb-create-rule-visual.md).

## Passaggio 1: creare un flusso Amazon Kinesis
<a name="eb-stream-create-stream"></a>

Per creare uno stream, al prompt dei comandi, utilizzare il `create-stream` AWS CLI comando.

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

Quando lo stato del flusso è `ACTIVE`, il flusso è pronto. Per controllare lo stato del flusso, usa il comando `describe-stream`.

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

## Fase 2: Creazione di una regola
<a name="eb-stream-create-rule"></a>

Crea una regola per inviare eventi al tuo stream quando interrompi un' EC2 istanza Amazon.

**Per creare una regola**

1. Apri la EventBridge console Amazon all'indirizzo [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Nel pannello di navigazione, scegli **Regole**.

1. Scegli **Crea regola**.

1. Inserisci un nome e una descrizione per la regola. Ad esempio, assegnale il nome `TestRule`.

1. In **Router di eventi**, seleziona **Predefinito**.

1. Per **Tipo di regola**, scegli **Regola con un modello di eventi**.

1. Scegli **Next (Successivo)**.

1. Per **Event source**, scegli **AWS eventi o eventi EventBridge partner**.

1. In **Metodo di creazione**, scegli **Utilizza schema**.

1. Per **Event pattern** (Modello di eventi), procedi come segue:

   1. In **Tipo di schema**, scegli **Seleziona lo schema dal registro schemi**.

   1. In **Registro dello schema**, scegli **aws.events** dall'elenco a discesa.

   1. Per **Schema**, scegli **aws.ec2@ EC2 InstanceStateChangeNotification** dall'elenco a discesa.

      EventBridge **visualizza lo schema degli eventi in Modelli.**

      EventBridge visualizza un asterisco rosso accanto a tutte le proprietà necessarie *per l'evento*, non per il modello di evento. 

   1. In **Modelli**, imposta le seguenti proprietà di filtro di eventi: 

      1. Seleziona **\$1 Modifica** accanto alla proprietà **state**. 

         Lascia vuoto il campo **Relazione**. In **Valore**, specifica `running`. Scegli **Imposta**. 

      1. Seleziona **\$1 Modifica** accanto alla proprietà **source**. 

         Lascia vuoto il campo **Relazione**. In **Valore**, specifica `aws.ec2`. Scegli **Imposta**. 

      1. Seleziona **\$1 Modifica** accanto alla proprietà **detail-type**. 

         Lascia vuoto il campo **Relazione**. In **Valore**, specifica `EC2 Instance State-change Notification`. Scegli **Imposta**. 

   1. Per visualizzare il modello di eventi che hai creato, scegli **Genera un modello di eventi in JSON**

      EventBridge visualizza lo schema degli eventi in JSON:

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

1. Scegli **Next (Successivo)**.

1. Per **Tipi di destinazione**, scegli **servizio AWS **.

1. In **Seleziona una destinazione**, scegli **Flusso Kinesis** dall'elenco a discesa.

1. In **Flusso**, seleziona il flusso Kinesis che hai creato nella sezione **Passaggio 1: creare un flusso Amazon Kinesis**. In questo esempio, seleziona `test`.

1. In **Ruolo di esecuzione**, scegli **Crea un nuovo ruolo per questa risorsa specifica**.

1. Scegli **Next (Successivo)**.

1. Scegli **Next (Successivo)**.

1. Rivedi i dettagli della regola e scegli **Crea regola**.

## Fase 3: Test della regola
<a name="eb-stream-test-rule"></a>

Per testare la tua regola, interrompi un' EC2 istanza Amazon. Attendi qualche minuto che l'istanza si fermi, quindi controlla le CloudWatch metriche per verificare che la funzione funzioni.

**Test della regola arrestando un'istanza**

1. Apri la EC2 console Amazon all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Avvia un'istanza. Per ulteriori informazioni, consulta [Launch Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) nella *Amazon EC2 User Guide*.

1. Apri la EventBridge console Amazon all'indirizzo [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Nel pannello di navigazione, scegli **Regole**.

   Scegliere il nome della regola creata, quindi scegliere **Metrics for the rule (Parametri per la regola)**.

1. (Opzionale) Al completamento dell'operazione, terminare l'istanza. Per ulteriori informazioni, consulta [Terminate Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html) nella *Amazon EC2 User Guide*.

## Passaggio 4: verificare l'invio dell'evento
<a name="eb-stream-verify-event"></a>

Puoi usare il AWS CLI per recuperare il record dallo stream e verificare che l'evento sia stato inviato.

**Per ottenere il record**

1. Per iniziare a leggere dal tuo flusso Kinesis, al prompt dei comandi, utilizza il comando `get-shard-iterator`.

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

   Di seguito è riportato un output di esempio.

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

1. Per ottenere il record, utilizzare il comando `get-records` seguente. Utilizza l'iteratore di partizione dell'output nel passaggio precedente.

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

   Se il comando viene completato correttamente, richiede record dal flusso per lo shard specificato. Puoi ricevere zero o più record. Qualsiasi record restituito potrebbe non rappresentare tutti i record nel flusso. Se non si ricevono i dati previsti, continuare a chiamare `get-records`. 

1. I record in Kinesis sono codificati in Base64. Utilizza un decodificatore Base64 per decodificare i dati in modo da poter verificare che si tratta dell'evento inviato al flusso in formato JSON.

## Passaggio 5: eliminare le risorse
<a name="cleanup"></a>

Ora è possibile eliminare le risorse create per questo tutorial, a meno che non si voglia conservarle. Eliminando AWS le risorse che non utilizzi più, eviti addebiti inutili sul tuo AWS account.

**Per eliminare le EventBridge regole**

1. Apri la [pagina Regole](https://console.aws.amazon.com/events/home#/rules) della EventBridge console.

1. Seleziona la regola che hai creato.

1. Scegliere **Delete (Elimina)**.

1. Scegliere **Delete (Elimina)**.

**Per eliminare il flusso Kinesis**

1. Apri la [pagina dei flussi di dati](https://console.aws.amazon.com/kinesis/home#/streams/list) della console Kinesis.

1. Seleziona il flusso creato.

1. Scegli **Operazioni** > **Elimina**.

1. Immetti **elimina** nel campo e scegli **Elimina**.