Tutorial: invio di eventi ad Amazon Kinesis utilizzando schemi EventBridge - Amazon EventBridge

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

Puoi inviare eventi di AWS API chiamata EventBridge a un flusso Amazon Kinesis, creare applicazioni Kinesis Data Streams ed elaborare grandi quantità di dati. In questo tutorial, crei uno stream Kinesis e poi crei una regola nella EventBridge console che invia eventi a quel flusso quando un'EC2istanza Amazon si interrompe.

Prerequisiti

In questo tutorial, utilizzerai quanto segue:

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. Per ulteriori informazioni sulla creazione di una regola utilizzando altre opzioni del modello di eventi, consulta Creazione di regole che reagiscono agli eventi in Amazon EventBridge.

Passaggio 1: creare un flusso Amazon Kinesis

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

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

Per creare una regola
  1. Apri la EventBridge console Amazon all'indirizzo https://console.aws.amazon.com/events/.

  2. Nel pannello di navigazione, scegli Regole.

  3. Scegli Create rule (Crea regola).

  4. Immettere un nome e una descrizione per la regola. Ad esempio, assegnale il nome TestRule.

  5. In Router di eventi, seleziona Predefinito.

  6. Per Rule type (Tipo di regola), scegli Rule with an event pattern (Regola con un modello di eventi).

  7. Seleziona Successivo.

  8. Per Event source, scegli AWS eventi o eventi per i EventBridge partner.

  9. In Metodo di creazione, scegli Utilizza schema.

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

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

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

    3. Per Schema, scegli aws.ec2@ EC2InstanceStateChangeNotification 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.

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

      1. Seleziona + Modifica accanto alla proprietà state.

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

      2. Seleziona + Modifica accanto alla proprietà source.

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

      3. Seleziona + Modifica accanto alla proprietà detail-type.

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

    5. Per visualizzare lo schema di eventi che hai creato, scegli Genera pattern di eventi in JSON

      EventBridge visualizza lo schema degli eventi inJSON:

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

  12. Per Target types (Tipi di destinazione), scegli AWS service (Servizio ).

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

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

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

  16. Seleziona Successivo.

  17. Seleziona Successivo.

  18. Rivedi i dettagli della regola e scegli Create rule (Crea regola).

Fase 3: Test della regola

Per testare la tua regola, interrompi un'EC2istanza 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/.

  2. Avvia un'istanza. Per ulteriori informazioni, consulta Launch Your Instance nella Amazon EC2 User Guide.

  3. Apri la EventBridge console Amazon all'indirizzo https://console.aws.amazon.com/events/.

  4. Nel pannello di navigazione, scegli Regole.

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

  5. (Opzionale) Al completamento dell'operazione, terminare l'istanza. Per ulteriori informazioni, consulta Terminate Your Instance nella Amazon EC2 User Guide.

Passaggio 4: verificare l'invio dell'evento

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=" }
  2. 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.

  3. I record in Kinesis sono codificati in Base64. Utilizzate un decoder Base64 per decodificare i dati in modo da poter verificare che si tratti dell'evento che è stato inviato allo stream nel modulo. JSON

Passaggio 5: eliminare le risorse

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 account. AWS

Per eliminare la/le EventBridge regola/e
  1. Apri la pagina Regole della EventBridge console.

  2. Seleziona la regola che hai creato.

  3. Scegliere Delete (Elimina).

  4. Scegliere Delete (Elimina).

Per eliminare il flusso Kinesis
  1. Apri la pagina dei flussi di dati della console Kinesis.

  2. Seleziona il flusso creato.

  3. Scegli Operazioni > Elimina.

  4. Immetti elimina nel campo e scegli Elimina.