Attendi lo stato del workflow - AWS Step Functions

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à.

Attendi lo stato del workflow

Gestione dello stato e trasformazione dei dati

Uno stato Wait ("Type": "Wait") impedisce il funzionamento della macchina a stati per un determinato periodo di tempo. Puoi scegliere tra un intervallo di tempo relativo, specificato in secondi a partire dal momento in cui inizia lo stato, oppure un'ora di fine assoluta, specificata come timestamp.

Oltre ai campi di stato comuni, gli stati Wait hanno uno dei seguenti campi.

Seconds

Un tempo di attesa in secondi prima dell'inizio dello stato specificato nel campo Next. È necessario specificare l'ora come valore intero compreso tra 0 e 99999999. Negli JSONata stati, è possibile in alternativa specificare un' JSONata espressione che deve restituire un numero intero nell'intervallo indicato.

Timestamp

Un tempo di attesa assoluto fino all'inizio dello stato specificato nel campo Next.

I timestamp devono essere conformi al RFC3339 profilo della norma ISO 8601, con l'ulteriore restrizione che una lettera maiuscola T deve separare le parti di data e ora e una maiuscola Z deve indicare che non è presente un offset numerico del fuso orario, ad esempio,. 2024-08-18T17:33:00Z

Negli JSONata stati, è possibile specificare un' JSONata espressione che restituisca una stringa conforme ai requisiti precedenti.

Nota

Attualmente, se si specifica il tempo di attesa come timestamp, Step Functions considera il valore temporale fino a secondi e tronca i millisecondi.

SecondsPath(Solo facoltativo) JSONPath

Un percorso negli stati immette i dati in un valore intero che specifica il tempo di attesa, in secondi, prima di passare allo stato successivo.

TimestampPath(Solo facoltativo) JSONPath

Un percorso negli stati immette i dati su una data e un'ora assolute (timestamp) da attendere prima di passare allo stato successivo.

Nota

Devi specificare esattamente Seconds, Timestamp, SecondsPath o TimestampPath. Inoltre, il tempo di attesa massimo che è possibile specificare per i flussi di lavoro Standard e i flussi di lavoro Express è rispettivamente di un anno e cinque minuti.

Esempi di stato Wait

Il seguente stato Wait introduce un ritardo di 10 secondi in una macchina a stati.

"wait_ten_seconds": { "Type": "Wait", "Seconds": 10, "Next": "NextState" }

Nel prossimo esempio, lo Wait stato attende fino a un'ora assoluta: il 14 marzo 2024 alle 01:59 UTC.

"wait_until" : { "Type": "Wait", "Timestamp": "2024-03-14T01:59:00Z", "Next": "NextState" }

Non è necessario effettuare l'hard coding del tempo di attesa. Ad esempio, con i seguenti dati di input:

{ "expirydate": "2024-03-14T01:59:00Z" }

Puoi selezionare il valore di "expirydate" dall'input utilizzando un percorso di riferimento per selezionarlo dai dati di input.

"wait_until" : { "Type": "Wait", "TimestampPath": "$.expirydate", "Next": "NextState" }