Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Gestion de l'état et transformation des données
Un état Wait
("Type": "Wait"
) empêche la machine d'état de continuer à fonctionner pendant une durée spécifiée. Vous pouvez choisir une durée relative, spécifiée en secondes à partir du moment où l'état commence, ou une heure de fin absolue, spécifiée comme un horodatage.
Outre les champs d'état courants, les états Wait
ont l'un des champs suivants.
-
Seconds
-
Une durée d'attente (en secondes) avant le début de l'état spécifié dans le champ
Next
. Vous devez spécifier l'heure sous forme de valeur entière comprise entre 0 et 99999999. Dans JSONata les états, vous pouvez également spécifier une JSONata expression qui doit être évaluée à un entier compris dans la plage indiquée. -
Timestamp
-
Une durée d'attente absolue avant le début de l'état spécifié dans le champ
Next
.Les horodatages doivent être conformes au RFC3339 profil de la norme ISO 8601, avec les restrictions supplémentaires selon lesquelles une majuscule
T
doit séparer les parties de date et d'heure, et une majusculeZ
doit indiquer qu'un décalage de fuseau horaire numérique n'est pas présent, par exemple.2024-08-18T17:33:00Z
Dans JSONata les états, vous pouvez spécifier une JSONata expression qui aboutit à une chaîne conforme aux exigences précédentes.
Note
Actuellement, si vous spécifiez le temps d'attente sous forme d'horodatage, Step Functions prend en compte la valeur temporelle maximale en secondes et tronque les millisecondes.
-
SecondsPath
(Facultatif, JSONPath uniquement) -
Un chemin dans les états saisit des données sous forme de valeur entière qui indique le temps d'attente, en secondes, avant de passer à l'état suivant.
-
TimestampPath
(Facultatif, JSONPath uniquement) -
Un chemin dans les états saisit des données jusqu'à une date et une heure absolues (horodatage) à attendre avant de passer à l'état suivant.
Note
Vous devez spécifier exactement Seconds
, Timestamp
, SecondsPath
ou TimestampPath
. En outre, le temps d'attente maximal que vous pouvez spécifier pour les flux de travail standard et les flux de travail express est d'un an et cinq minutes respectivement.
Exemples d'état Wait
L'état Wait
suivant introduit un retard de dix secondes dans une machine d'état.
"wait_ten_seconds": {
"Type": "Wait",
"Seconds": 10,
"Next": "NextState"
}
Dans l'exemple suivant, l'Wait
État attend une heure absolue : le 14 mars 2024, à 1 h 59 UTC.
"wait_until" : {
"Type": "Wait",
"Timestamp": "2024-03-14T01:59:00Z",
"Next": "NextState"
}
La durée d'attente n'a pas besoin d'être codée en dur. Par exemple, avec les données d'entrée suivantes :
{
"expirydate": "2024-03-14T01:59:00Z"
}
Vous pouvez sélectionner la valeur « expirydate » de l'entrée à l'aide d'un chemin de référence pour la sélectionner dans les données d'entrée.
"wait_until" : {
"Type": "Wait",
"TimestampPath": "$.expirydate",
"Next": "NextState"
}