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
Scopri come passare dati tra stati con variabili e Trasformare dati con. JSONata
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 maiuscolaZ
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"
}