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.
Fasi:
Prerequisiti
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 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. 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
Apri la EventBridge console Amazon all'indirizzo https://console.aws.amazon.com/events/
. -
Nel pannello di navigazione, scegli Regole.
-
Scegli Create rule (Crea regola).
-
Immettere un nome e una descrizione per la regola. Ad esempio, assegnale il nome
TestRule
. -
In Router di eventi, seleziona Predefinito.
-
Per Rule type (Tipo di regola), scegli Rule with an event pattern (Regola con un modello di eventi).
-
Seleziona Successivo.
-
Per Event source, scegli AWS eventi o eventi per i EventBridge partner.
-
In Metodo di creazione, scegli Utilizza schema.
-
Per Event pattern (Modello di eventi), procedi come segue:
-
In Tipo di schema, scegli Seleziona lo schema dal registro schemi.
-
In Registro dello schema, scegli aws.events dall'elenco a discesa.
-
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.
-
In Modelli, imposta le seguenti proprietà di filtro di eventi:
Seleziona + Modifica accanto alla proprietà state.
Lascia vuoto il campo Relazione. In Valore, specifica
running
. Scegli Imposta.Seleziona + Modifica accanto alla proprietà source.
Lascia vuoto il campo Relazione. In Valore, specifica
aws.ec2
. Scegli Imposta.Seleziona + Modifica accanto alla proprietà detail-type.
Lascia vuoto il campo Relazione. In Valore, specifica
EC2 Instance State-change Notification
. Scegli Imposta.
-
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"] }
-
-
Seleziona Successivo.
-
Per Target types (Tipi di destinazione), scegli AWS service (Servizio ).
-
In Seleziona una destinazione, scegli Flusso Kinesis dall'elenco a discesa.
-
In Flusso, seleziona il flusso Kinesis che hai creato nella sezione Passaggio 1: creare un flusso Amazon Kinesis. In questo esempio, seleziona
test
. -
In Ruolo di esecuzione, scegli Crea un nuovo ruolo per questa risorsa specifica.
-
Seleziona Successivo.
-
Seleziona Successivo.
-
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
Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/
. -
Avvia un'istanza. Per ulteriori informazioni, consulta Launch Your Instance nella Amazon EC2 User Guide.
Apri la EventBridge console Amazon all'indirizzo https://console.aws.amazon.com/events/
. -
Nel pannello di navigazione, scegli Regole.
Scegliere il nome della regola creata, quindi scegliere Metrics for the rule (Parametri per la regola).
-
(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
-
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=" }
-
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
. -
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
-
Apri la pagina Regole
della EventBridge console. -
Seleziona la regola che hai creato.
-
Scegliere Delete (Elimina).
-
Scegliere Delete (Elimina).
Per eliminare il flusso Kinesis
-
Apri la pagina dei flussi di dati
della console Kinesis. -
Seleziona il flusso creato.
-
Scegli Operazioni > Elimina.
-
Immetti elimina nel campo e scegli Elimina.