Estado Wait de un flujo de trabajo
Administración del estado y transformación de los datos
Obtenga información sobre la Transmisión de datos entre estados con variables y la Transformación de datos con JSONata.
Un estado Wait ("Type": "Wait") retrasa la máquina de estado durante el tiempo especificado. Se puede seleccionar un tiempo relativo, especificado en segundos desde el inicio del estado, o un tiempo de finalización absoluto, especificado como una marca de tiempo.
Además de los campos de estado comunes, los estados Wait tienen uno de los campos siguientes.
-
Seconds -
Tiempo, en segundos, que se va a esperar hasta que comience el estado especificado en el campo
Next. Debe especificar el tiempo como un valor entero comprendido entre 0 y 99999999. Como alternativa, en los estados de JSONata, puede especificar una expresión de JSONata que debe evaluarse como un número entero dentro del rango indicado. -
Timestamp -
Tiempo absoluto que se va a esperar hasta que comience el estado especificado en el campo
Next.Las marcas de tiempo deben ajustarse al perfil RFC3339 de ISO 8601, con la restricción adicional de que las partes de fecha y hora deben separarse con una letra
Tmayúscula y debe usarse una letraZmayúscula para dar cuenta de que no se aplica ningún ajuste numérico de la zona horaria; por ejemplo,2024-08-18T17:33:00Z.En los estados de JSONata, puede especificar una expresión de JSONata que dé como resultado una cadena que cumpla con los requisitos anteriores.
nota
Actualmente, si se especifica el tiempo de espera como una marca de tiempo, Step Functions tiene en consideración el valor del tiempo hasta los segundos y trunca los milisegundos.
-
SecondsPath(Opcional, solo JSONPath) -
Una ruta en los estados introduce datos en un valor entero que especifica el tiempo de espera, en segundos, antes de pasar al siguiente estado.
-
TimestampPath(Opcional, solo JSONPath) -
Una ruta en los estados introduce datos en una fecha y hora absolutas (marca de tiempo) para esperar antes de pasar al siguiente estado.
nota
Solo debe especificar uno: Seconds, Timestamp, SecondsPath o TimestampPath. Además, el tiempo de espera máximo que se puede especificar para los flujos de trabajo estándar y rápidos es de un año y cinco minutos, respectivamente.
Ejemplos del estado Wait
El estado Wait siguiente introduce un retraso de 10 segundos en una máquina de estado.
"wait_ten_seconds": {
"Type": "Wait",
"Seconds": 10,
"Next": "NextState"
}
En el ejemplo siguiente, el estado Wait espera hasta un momento especificado en términos absolutos: 14 de marzo de 2024, a las 13:59 h UTC.
"wait_until" : {
"Type": "Wait",
"Timestamp": "2024-03-14T01:59:00Z",
"Next": "NextState"
}
No es necesario codificar de forma rígida la duración de Wait. Por ejemplo, en el caso de los datos de entrada siguientes:
{
"expirydate": "2024-03-14T01:59:00Z"
}
Puede seleccionar el valor de "expirydate" de los datos de entrada utilizando una ruta de referencia.
"wait_until" : {
"Type": "Wait",
"TimestampPath": "$.expirydate",
"Next": "NextState"
}