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à.
Avvio di un flusso di lavoro Step Functions in risposta agli eventi
Puoi eseguire una macchina a AWS Step Functions stati in risposta a un evento indirizzato da una EventBridge regola Amazon a Step Functions come destinazione.
Il seguente tutorial mostra come configurare una macchina a stati come destinazione di una EventBridge regola Amazon. Ogni volta che i file vengono aggiunti a un bucket Amazon Simple Storage Service (Amazon S3), EventBridge la regola avvia la macchina a stati.
Un esempio pratico di questo approccio potrebbe essere una macchina a stati che esegue l'analisi di Amazon Rekognition su file di immagine aggiunti al bucket per classificare e assegnare parole chiave.
In questo tutorial, inizierai l'esecuzione di una macchina a Helloworld
stati caricando un file in un bucket Amazon S3. Quindi esamini l'input di esempio di tale esecuzione per identificare le informazioni incluse nell'input della notifica di evento di Amazon S3 inviata a. EventBridge
Prerequisito: creazione di una macchina a stati
Prima di poter configurare una macchina a stati come EventBridge destinazione Amazon, devi creare la macchina a stati.
-
Per creare una macchina a stati di base, usa il tutorial Creazione di una macchina a stati che utilizza una funzione Lambda.
-
Se disponi già di una macchina a stati
Helloworld
, vai alla fase successiva.
Fase 1: creare un bucket in Amazon S3
Ora che hai una macchina a Helloworld
stati, devi creare un bucket Amazon S3 per archiviare i tuoi file. Nella fase 3 di questo tutorial, imposti una regola in modo che quando un file viene caricato in questo bucket, attivi l'esecuzione della tua EventBridge macchina a stati.
-
Accedi alla console Amazon S3
, quindi scegli Crea bucket per creare il bucket in cui desideri archiviare i file e attivare una regola di evento Amazon S3. -
Immettere Bucket name (Nome bucket), come
.username
-sfn-tutorialNota
I nomi dei bucket devono essere univoci per tutti i nomi di bucket esistenti in tutte le AWS regioni di Amazon S3. Usa il tuo
username
per rendere questo nome unico. È necessario creare tutte le risorse nella stessa AWS regione. -
Mantieni tutte le selezioni predefinite sulla pagina e scegli Crea bucket.
Fase 2: abilitare la notifica degli eventi di Amazon S3 con EventBridge
Dopo aver creato il bucket Amazon S3, configuralo per inviare eventi EventBridge ogni volta che si verificano determinati eventi nel bucket S3, come i caricamenti di file.
-
Accedi alla console Amazon S3
. -
Nell'elenco Bucket (Bucket) scegli il nome del bucket per il quale abilitare gli eventi.
-
Scegliere Properties (Proprietà).
-
Scorri la pagina verso il basso per visualizzare la sezione Notifiche eventi, quindi scegli Modifica nella EventBridge sottosezione Amazon.
-
In Invia notifiche ad Amazon EventBridge per tutti gli eventi in questo bucket, scegli Attivato.
-
Scegli Save changes (Salva modifiche).
Nota
Dopo l'attivazione EventBridge, occorrono circa cinque minuti prima che le modifiche abbiano effetto.
Fase 3: Creare una EventBridge regola Amazon
Dopo aver creato una macchina a stati e aver creato il bucket Amazon S3 e averlo configurato per inviare notifiche di eventi a EventBridge, crea una regola. EventBridge
Nota
È necessario configurare la EventBridge regola nella stessa AWS regione del bucket Amazon S3.
Per creare la regola
-
Vai alla EventBridge console Amazon
, scegli Crea regola. Suggerimento
In alternativa, nel riquadro di navigazione della EventBridge console, scegli Regole in Autobus, quindi scegli Crea regola.
-
Inserisci un nome per la regola (ad esempio
) e, facoltativamente, inserisci una descrizione per la regola.S3Step Functions
-
Per Event bus e Rule type, mantieni le selezioni predefinite.
-
Scegli Next (Successivo). Verrà aperta la pagina Build event pattern.
-
Scorri verso il basso fino alla sezione Event pattern ed esegui le seguenti operazioni:
-
Per Event source, mantieni la selezione predefinita di AWS eventi o eventi EventBridge partner.
-
Per l'AWS assistenza, scegli Simple Storage Service (S3).
-
Per il tipo di evento, scegli Amazon S3 Event Notification.
-
Scegli Evento/i specifico/i, quindi scegli Oggetto creato.
-
Scegliete uno o più bucket specifici per nome e inserite il nome del bucket che avete creato nel passaggio 1 (
) per archiviare i file.username
-sfn-tutorial -
Scegli Next (Successivo). Si apre la pagina Seleziona obiettivi.
-
Per creare il target
-
In Target 1, mantieni la selezione predefinita del AWS servizio.
-
Nell'elenco a discesa Seleziona una destinazione, seleziona Step Functions state machine.
-
Nell'elenco Macchina a stati, seleziona la macchina a stati creata in precedenza (ad esempio,
Helloworld
). -
Mantieni tutte le selezioni predefinite nella pagina e scegli Avanti. Si apre la pagina Configura i tag.
-
Scegliere Next (Successivo) di nuovo. Si apre la pagina Rivedi e crea.
-
Rivedi i dettagli della regola e scegli Create rule (Crea regola).
La regola viene creata e viene visualizzata la pagina Regole, che elenca tutte le EventBridge regole Amazon.
Fase 4: test della regola
Ora che tutto è a posto, prova ad aggiungere un file al bucket Amazon S3, quindi esamina l'input dell'esecuzione della macchina a stati risultante.
-
Aggiungi un file al tuo bucket Amazon S3.
Accedi alla console Amazon S3
, scegli il bucket che hai creato per archiviare i file (
), quindi scegli Carica.username
-sfn-tutorial -
Aggiungi un file, ad esempio
, quindi scegli Carica.test.png
In questo modo, viene avviata un'esecuzione della macchina a stati, trasmettendo informazioni da AWS CloudTrail come input.
-
Controllare l'esecuzione della macchina a stati.
-
Seleziona l'esecuzione più recente di quella macchina a stati ed espandi la sezione Execution Input.
Questo input include informazioni come il nome del bucket e il nome dell'oggetto. In un caso d'uso reale, una macchina a stati può utilizzare questo input per eseguire azioni su quell'oggetto.
Esempio di input di esecuzione
L'esempio seguente mostra un input tipico per l'esecuzione della macchina a stati.
{ "version": "0", "id": "6c540ad4-0671-9974-6511-756fbd7771c3", "detail-type": "Object Created", "source": "aws.s3", "account": "123456789012", "time": "2023-06-23T23:45:48Z", "region": "us-east-2", "resources": [ "arn:aws:s3:::
" ], "detail": { "version": "0", "bucket": { "name": "
username
-sfn-tutorial" }, "object": { "key": "test.png", "size": 800704, "etag": "f31d8546bb67845b4d3048cde533b937", "sequencer": "00621049BA9A8C712B" }, "request-id": "79104EXAMPLEB723", "requester": "123456789012", "source-ip-address": "200.0.100.11", "reason": "PutObject" } }
username
-sfn-tutorial