Estado Wait de un flujo de trabajo - AWS Step Functions

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Estado Wait de un flujo de trabajo

Administrar el estado y transformar los datos

Step Functions agregó recientemente variables y JSONata para administrar el estado y transformar los datos.

Obtenga información sobre cómo pasar datos con variables y cómo transformar 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 positivo comprendido entre 0 y 99999999.

En JSONata los estados, puede especificar una JSONata expresión que debe dar como resultado un entero positivo en el 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 RFC3339 perfil de ISO 8601, con la restricción adicional de que las partes de fecha y hora T deben estar separadas por mayúsculas Z y, por ejemplo, indicar que no hay un desfase numérico de huso horario. 2024-08-18T17:33:00Z

En JSONata los estados, puede especificar una JSONata expresión 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, JSONPath únicamente)

Tiempo, en segundos, que se va a esperar hasta que comience el estado especificado en el campo Next. Se define mediante una ruta en los datos de entrada del estado.

Debe especificar un valor entero para este campo.

TimestampPath(Opcional, JSONPath únicamente)

Tiempo absoluto que se va a esperar hasta que comience el estado especificado en el campo Next. Se define utilizando una ruta en los datos de entrada del 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 siguiente ejemplo, el Wait estado espera hasta una hora absoluta: el 14 de marzo de 2024 a las 1:59 a.m. 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" }