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.
Administrar el estado y transformar los datos
Obtenga información sobre cómo pasar datos entre estados 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 comprendido entre 0 y 99999999. En JSONata los estados, también puede especificar una JSONata expresión que debe dar como resultado 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 RFC3339 perfil de la norma ISO 8601, con la restricción adicional de que las partes de fecha y hora
T
deben estar separadas por mayúsculasZ
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) -
Una ruta de los estados introduce datos en un valor entero que especifica el tiempo de espera, en segundos, antes de pasar al siguiente estado.
-
TimestampPath
(Opcional, JSONPath únicamente) -
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"
}