

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.

# État du flux de travail en attente
<a name="state-wait"></a>

**Gestion de l'état et transformation des données**  
Découvrez comment [transmettre des données entre états à l'aide de variables](workflow-variables.md) et [transformer des données avec JSONata](transforming-data.md).

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](statemachine-structure.md#amazon-states-language-common-fields), 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 majuscule `Z` 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.  
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](concepts-input-output-filtering.md) 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](concepts-input-output-filtering.md) 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
<a name="wait-state-example"></a>

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](concepts-input-output-filtering.md) de référence pour la sélectionner dans les données d'entrée.

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