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à.
Chiama EventBridge con Step Functions
Step Functions può controllare determinati AWS servizi direttamente da Amazon States Language (ASL). Per ulteriori informazioni, consultare Uso di altri servizi e Passa i parametri a un'API di servizio.
In che modo l' EventBridge integrazione ottimizzata è diversa dall'integrazione EventBridge AWS SDK
-
L'ARN di esecuzione e l'ARN della macchina a stati vengono aggiunti automaticamente al campo di ciascuno.
Resources
PutEventsRequestEntry
-
Se la risposta di
PutEvents
contiene un valore diverso da zero,FailedEntryCount
loTask
stato fallisce con l'errore.EventBridge.FailedEntry
Per informazioni su come configurare le IAM autorizzazioni quando vengono utilizzate Step Functions con altri AWS servizi, vedere. Politiche IAM per servizi integrati
Step Functions fornisce un'API di integrazione dei servizi per l'integrazione con Amazon EventBridge. Ciò consente di creare applicazioni basate sugli eventi inviando eventi personalizzati direttamente dai flussi di lavoro di Step Functions.
Per utilizzare l'PutEvents
API, dovrai creare una EventBridge regola nel tuo account che corrisponda allo schema specifico degli eventi che invierai. È ad esempio possibile:
-
Crea una funzione Lambda nel tuo account che riceva e stampa un evento che corrisponde a una EventBridge regola.
-
Crea una EventBridge regola nel tuo account sul bus eventi predefinito che corrisponda a uno schema di eventi specifico e abbia come destinazione la funzione Lambda.
Per ulteriori informazioni, consultare:
-
Aggiungere EventBridge eventi Amazon PutEvents nella Guida per l' EventBridge utente.
-
Attendere un callback con il token dell’attivitàin Modelli di integrazione dei servizi.
Nota
Esiste una quota per la dimensione massima dei dati di input o risultato per un'attività in Step Functions. Ciò limita a 256 KB di dati come stringa con codifica UTF-8 quando si inviano o si ricevono dati da un altro servizio. Per informazioni, consulta Quote relative alle esecuzioni di macchine a stati.
API supportata EventBridge
EventBridge L'API e la sintassi supportate includono:
-
-
Parametro supportato:
Quanto segue include un messaggio Task
che invia un evento personalizzato:
{
"Type": "Task",
"Resource": "arn:aws:states:::events:putEvents",
"Parameters": {
"Entries": [
{
"Detail": {
"Message": "MyMessage"
},
"DetailType": "MyDetailType",
"EventBusName": "MyEventBus",
"Source": "my.source"
}
]
},
"End": true
}
Gestione degli errori
L'PutEvents
API accetta una matrice di voci come input, quindi restituisce una matrice di voci di risultati. Se l'PutEvents
azione ha avuto esito positivo, PutEvents
restituirà una risposta HTTP 200, anche se una o più voci non sono riuscite. PutEvents
restituisce il numero di immissioni non riuscite nel FailedEntryCount
campo.
Step Functions verifica se FailedEntryCount
è maggiore di zero. Se è maggiore di zero, Step Functions non riporta lo stato con l'erroreEventBridge.FailedEntry
. Ciò consente di utilizzare la gestione degli errori integrata di Step Functions sugli stati delle attività per rilevare o riprovare in caso di immissioni non riuscite, anziché dover utilizzare uno stato aggiuntivo per analizzare i risultati FailedEntryCount
della risposta.
Nota
Se hai implementato l'idempotenza e puoi riprovare in sicurezza su tutte le voci, puoi utilizzare la logica di riprova di Step Functions. Step Functions non rimuove le voci riuscite dall'array PutEvents
di input prima di riprovare. Riprova invece con l'array di voci originale.