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à.
Guida introduttiva: crea una Amazon EventBridge pipe
Per acquisire familiarità con le pipe e le loro funzionalità, utilizzeremo un CloudFormation modello per configurare una EventBridge pipe e i componenti associati. Quindi possiamo esplorare le varie caratteristiche delle pipe.
Suggerimento
Per un'esperienza di apprendimento più completa e pratica, provate il EventBridge Pipes Workshop.
Il modello crea una EventBridge pipe che collega un flusso da una tabella DynamoDB a una coda Amazon SQS. Ogni volta che un record viene creato o modificato nella tabella del database, la pipe invia l'evento risultante alla coda.
La pipe distribuita è composta da:
Una tabella (e stream) DynamoDB che funge da sorgente della pipe e una coda Amazon SQS come destinazione.
Un ruolo di esecuzione che concede le autorizzazioni necessarie per accedere EventBridge alla tabella DynamoDB e alla coda Amazon SQS.
La pipe stessa, che contiene un filtro degli eventi che seleziona solo gli eventi generati quando un elemento della tabella viene creato (inserito) o modificato.
Per dettagli tecnici specifici del modello, consultaDettagli del modello.
Creazione della pipe utilizzando CloudFormation
Per creare la pipe e le risorse associate, creeremo un CloudFormation modello e lo useremo per creare uno stack contenente una pipe di esempio, completa di source e target.
Importante
Ti verranno addebitate le risorse Amazon utilizzate se crei uno stack a partire da questo modello.
Innanzitutto, crea il CloudFormation modello.
Nella sezione Modello, fai clic sull’icona di copia nella scheda JSON o YAML per copiare i contenuti del modello.
Copia i contenuti del modello in un nuovo file.
Salva il file localmente.
Quindi, usa il modello che hai salvato per eseguire il provisioning di uno CloudFormation stack.
Apri la CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformation/
. Nella pagina Stack, scegli Con nuove risorse (standard) nel menu Crea stack.
Specifica il modello:
In Prerequisito, seleziona Scegli un modello esistente.
In Specifica modello, seleziona Carica un file di modello.
Seleziona Scegli file, quindi passa al file del modello e selezionalo.
Scegli Avanti.
Specifica i dettagli dello stack:
Inserisci un nome dello stack.
Per i parametri, accettate i valori predefiniti o inserite i vostri.
Scegli Avanti.
Configura le opzioni dello stack:
In Opzioni di errore dello stack, scegli Elimina tutte le nuove risorse create.
Nota
Scegliendo questa opzione si evita di ricevere addebiti per risorse la cui policy di eliminazione specifica che devono essere mantenute anche se la creazione dello stack non riesce. Per ulteriori informazioni, consulta la pagina relativa all’attributo
DeletionPolicynella Guida per l’utente di CloudFormation .Accetta tutti gli altri valori predefiniti.
In Capacità, seleziona la casella per confermare che CloudFormation potrebbe creare risorse IAM nel tuo account.
Scegli Avanti.
Rivedi i dettagli dello stack e scegli Invia.
Crea lo stack usando CloudFormation (AWS CLI)
Puoi anche usare il AWS CLI per creare lo stack.
-
Utilizza il comando
create-stack.Accettate i valori predefiniti dei parametri del modello, specificando il nome dello stack. Utilizzate il
template-bodyparametro per passare il contenuto del modello otemplate-urlper specificare una posizione URL.aws cloudformation create-stack \ --stack-nameeventbridge-rule-tutorial\ --template-bodytemplate-contents\ --capabilities CAPABILITY_IAMSostituisci i valori predefiniti di uno o più parametri del modello. Ad esempio:
aws cloudformation create-stack \ --stack-nameeventbridge-rule-tutorial\ --template-bodytemplate-contents\ --parameters \ ParameterKey=SourceTableName,ParameterValue=pipe-example-source\ ParameterKey=TargetQueueName,ParameterValue=pipe-example-target\ ParameterKey=PipeName,ParameterValue=pipe-with-filtering-example\ --capabilities CAPABILITY_IAM
CloudFormation crea lo stack. Una volta completata la creazione dello stack, le relative risorse sono pronte per l’uso. Puoi utilizzare la scheda Risorse nella pagina dei dettagli dello stack per visualizzare le risorse di cui hai effettuato il provisioning nel tuo account.
Esplorazione delle funzionalità di pipe
Una volta creata la tubazione, è possibile utilizzare la EventBridge console per osservarne il funzionamento e la consegna degli eventi di test.
Aprire la EventBridge console all'indirizzo https://console.aws.amazon.com/events/home? #/tubi
. -
Scegli la pipa che hai creato.
Nella pagina dei dettagli della tubazione, la sezione Componenti della tubazione mostra le risorse che compongono la tubazione e contiene schede che forniscono maggiori dettagli su ciascun componente.
Puoi trovare il ruolo di esecuzione che abbiamo creato per la pipe nella scheda Impostazioni, nella sezione Autorizzazioni.
Esame del filtro per tubi
Prima di testare il funzionamento della pipe, esaminiamo il filtro che abbiamo specificato per controllare quali eventi vengono inviati alla destinazione. La pipe invierà solo eventi che corrispondono ai criteri di filtro alla destinazione; tutti gli altri vengono scartati. In questo caso, vogliamo che solo gli eventi generati quando le voci della tabella vengono create o modificate vengano inviati alla coda Amazon SQS.
Nella pagina dei dettagli della tubazione, in Pipe Components, seleziona la scheda Filtraggio.
Abbiamo incluso un filtro che seleziona solo gli eventi in cui
eventNameè impostato su o.INSERTMODIFY{ "eventName": ["INSERT", "MODIFY"] }
Invio di eventi tramite la pipe
Successivamente, genereremo eventi nella sorgente della pipe per verificare che il filtraggio e la distribuzione delle pipe funzionino correttamente. Per fare ciò, creeremo e modificheremo un elemento nella tabella DynamoDB che abbiamo specificato come sorgente della pipe.
Nella pagina dei dettagli della tubazione, in Pipe Components, scegli la scheda Source.
In Source, scegli il nome dello stream DynamoDB.
Si apre la console DynamoDB in una finestra separata, con i dettagli della tabella di origine visualizzati.
Scegli Esplora elementi.
-
Genera un
INSERTevento creando un elemento nella tabella:Scegli Crea elemento.
Aggiungi valori per gli attributi Album e Artista.
Scegli Crea elemento.
Genera un evento
DELETEe unINSERTevento modificando l'elemento:Scegliete l'elemento dall'elenco e dal menu Azioni, scegliete Modifica elemento.
Inserisci un nuovo valore per l'attributo Album o Artista.
Seleziona la casella che conferma che stai modificando il valore delle chiavi degli elementi, quindi scegli Ricrea elemento.
In questo modo l'elemento viene eliminato e quindi ricreato, generando un
DELETEevento e quindi un nuovo evento.INSERT
Genera un
MODIFYevento aggiungendo un attributo all'elemento:Scegliete l'elemento dall'elenco e dal menu Azioni, scegliete Modifica elemento.
Dal menu Aggiungi nuovo attributo, scegli Numero.
Per il nome dell'attributo, inserite Anno, quindi immettete un valore per l'attributo. Selezionare Save and close (Salva e chiudi).
Conferma della consegna dell'evento tramite la pipe
Infine, confermeremo che la pipe ha filtrato e consegnato correttamente gli eventi che abbiamo generato creando e modificando l'elemento della tabella in DynamoDB.
Nella pagina dei dettagli della tubazione, in Pipe Components, scegli la scheda Target.
In Target, scegli il nome della coda Amazon SQS.
Si apre la console Amazon SQS in una finestra separata, con i dettagli della coda di destinazione.
Scegli Invia e ricevi messaggi.
In Ricevi messaggi, scegli Sondaggio per i messaggi.
Amazon SQS carica i messaggi ricevuti nella coda. Fai clic su un singolo messaggio per visualizzarne i dettagli.
Dovrebbero esserci tre messaggi relativi agli eventi nella coda:
Due di tipo
INSERT, uno generato quando hai creato per la prima volta l'elemento della tabella e l'altro generato quando hai ricreato l'elemento modificando un valore chiave.Uno di tipo
MODIFY, generato quando hai aggiunto un attributo all'elemento della tabella.
Notate che
DELETEnella coda non è presente un messaggio di evento di tipo, anche se ne è stato generato uno quando avete eliminato e ricreato l'elemento della tabella modificando un valore chiave. Il filtro pipe che abbiamo specificato seleziona solo onINSERTandMODIFY, quindi la pipe ha filtrato l'DELETEevento anziché inviarlo alla coda.
Pulizia: eliminazione delle risorse
Come passaggio finale, elimineremo lo stack e le risorse in esso contenute.
Importante
Ti verranno fatturate le risorse Amazon contenute nello stack per tutto il tempo in cui esisteranno.
Apri la CloudFormation console all'indirizzo. https://console.aws.amazon.com/cloudformation/
-
Nella pagina Stack, scegli lo stack creato dal modello, poi scegli Elimina, quindi conferma con Elimina.
CloudFormation avvia l'eliminazione dello stack e di tutte le risorse che include.
CloudFormation dettagli del modello
Questo modello crea risorse e concede autorizzazioni nel tuo account.
Resources
Il CloudFormation modello per questo tutorial creerà le seguenti risorse nel tuo account:
Importante
Ti verranno addebitate le risorse Amazon utilizzate se crei uno stack con questo modello.
AWS::DynamoDB::Table: una tabella DynamoDB che funge da sorgente di eventi per la pipe.AWS::SQS::Queue: una coda Amazon SQS che funge da destinazione per gli eventi che fluiscono attraverso la pipe.AWS::IAM::Role: un ruolo di esecuzione IAM che concede le autorizzazioni al servizio Pipes nel tuo account EventBridge .AWS::Pipes::Pipe: La pipe che collega la tabella DynamoDB alla coda Amazon SQS.
Permissions
Il modello include una AWS::IAM::Role risorsa che rappresenta un ruolo di esecuzione. Questo ruolo concede al servizio EventBridge Pipes (pipes.amazonaws.com) le seguenti autorizzazioni nel tuo account.
Le seguenti autorizzazioni sono limitate alla tabella DynamoDB e trasmettono in streaming il modello creato come origine dell'evento per la pipe:
dynamodb:DescribeStreamdynamodb:GetRecordsdynamodb:GetShardIteratordynamodb:ListStreams
Le seguenti autorizzazioni sono limitate alla coda Amazon SQS creata dallo stack come destinazione della pipe:
sqs:SendMessage
CloudFormation modello
Salva il seguente codice JSON o YAML come file separato da utilizzare come CloudFormation modello per questo tutorial.