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), la EventBridge regola avvierà la macchina a stati.
Un esempio pratico di questo approccio potrebbe essere una macchina a stati che esegue l'analisi di Amazon Rekognition sui file di immagine aggiunti al bucket per classificare e assegnare parole chiave.
In questo tutorial, avvii 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 Amazon S3 a cui è stata inviata. 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.
Passaggio 1: creare un bucket in Amazon S3
Ora che hai una macchina a Helloworld stati, devi creare un bucket Amazon S3 che memorizzi i tuoi file. Nella fase 3 di questo tutorial, imposti una regola in modo che quando un file viene caricato su questo bucket, attivi l'esecuzione della tua EventBridge macchina a stati.
-
Accedi alla console Amazon S3
, quindi scegli Create bucket per creare il bucket in cui desideri archiviare i tuoi 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 tra tutti i nomi dei bucket esistenti in tutte le regioni di Amazon S3. AWS Usa il tuo
usernameper rendere unico questo nome. Devi creare tutte le risorse nella stessa AWS regione. -
Mantieni tutte le selezioni predefinite nella pagina e scegli Crea bucket.
Passaggio 2: abilita 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, ad esempio il caricamento di file.
-
Accedi alla console Amazon S3. https://console.aws.amazon.com/s3/
-
Nell'elenco Bucket (Bucket) scegli il nome del bucket per il quale abilitare gli eventi.
-
Scegliere Properties (Proprietà).
-
Nella sezione Notifiche di eventi, 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, sono necessari circa cinque minuti affinché le modifiche abbiano effetto.
Passaggio 3: crea una EventBridge regola Amazon
Dopo aver creato una macchina a stati, aver creato il bucket Amazon S3 e averlo configurato per inviare notifiche di eventi a EventBridge, crea una EventBridge regola.
Nota
È necessario configurare la EventBridge regola nella stessa AWS regione del bucket Amazon S3.
Per creare la regola
-
Accedi alla EventBridge console Amazon
, scegli Crea regola. Suggerimento
In alternativa, nel pannello 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 il tipo Event bus e Rule, mantieni le selezioni predefinite.
-
Scegli Next (Successivo). Si apre la pagina Crea pattern di eventi.
-
Nella sezione Event pattern, effettuate 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 Eventi specifici, quindi scegli Oggetto creato.
-
Scegli Bucket specifici per nome e inserisci il nome del bucket che hai creato nel Passaggio 1 (
) per archiviare i tuoi file.username-sfn-tutorial -
Scegli Next (Successivo). Si apre la pagina Seleziona destinatari.
-
Per creare il target
-
In Target 1, mantieni la selezione predefinita del AWS servizio.
-
Nell'elenco a discesa Seleziona un target, seleziona Step Functions state machine.
-
Nell'elenco delle macchine 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 Crea regola.
La regola viene creata e viene visualizzata la pagina Regole, che elenca tutte le tue 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.pngIn questo modo, viene avviata un'esecuzione della macchina a stati, trasmettendo informazioni da AWS CloudTrail come input.
-
Controllare l'esecuzione della macchina a stati.
Accedi alla console Step Functions e seleziona la macchina a stati utilizzata nella tua EventBridge regola Amazon (
Helloworld). -
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