As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Gerenciando o estado e transformando dados
Recentemente, o Step Functions adicionou variáveis JSONata para gerenciar dados de estado e transformação.
Saiba mais sobre como transmitir dados com variáveis e transformar dados com JSONata.
O estado Wait
("Type": "Wait"
) impede que a máquina de estado continue durante um período especificado. Você pode escolher um tempo relativo, especificado em segundos a partir do momento em que o estado inicia, ou um tempo final absoluto, especificado como um timestamp.
Além dos campos de estado comuns, os estados Wait
têm um dos campos a seguir.
-
Seconds
-
Um tempo de espera em segundos antes de iniciar o estado especificado no campo
Next
. Você deve especificar o tempo como um valor inteiro positivo de 0 a 99999999.Em JSONata estados, você pode especificar uma JSONata expressão que deve ser avaliada como um número inteiro positivo no intervalo indicado.
-
Timestamp
-
Um tempo de espera absoluto até o início do estado especificado no campo
Next
.Os carimbos de data/hora devem estar em conformidade com o RFC3339 perfil de ISO 8601, com as restrições adicionais de que uma letra maiúscula
T
deve separar as partes de data e hora, e uma letra maiúsculaZ
deve indicar que uma diferença numérica de fuso horário não está presente, por exemplo.2024-08-18T17:33:00Z
Nos JSONata estados, você pode especificar uma JSONata expressão que resulta em uma string que esteja em conformidade com os requisitos anteriores.
nota
Atualmente, se você especificar o tempo de espera como um timestamp, o Step Functions considerará o valor de tempo até segundos e truncará os milissegundos.
-
SecondsPath
(Opcional, JSONPath somente) -
Um tempo, em segundos, a ser aguardado antes de iniciar o estado especificado no campo
Next
, definido por meio de um caminho dos dados de entrada do estado.É necessário especificar um valor inteiro para esse campo.
-
TimestampPath
(Opcional, JSONPath somente) -
Um tempo de espera absoluto até o início do estado especificado no campo
Next
, definido por meio de um caminho dos dados de entrada do estado.
nota
Você deve especificar exatamente uma destas opções: Seconds
, Timestamp
, SecondsPath
ou TimestampPath
. Além disso, o tempo máximo de espera que você pode especificar para fluxos de trabalho padrão e expressos é de um ano e cinco minutos, respectivamente.
Exemplos de estado Wait
O estado Wait
a seguir apresenta um atraso de 10 segundos em uma máquina de estado.
"wait_ten_seconds": {
"Type": "Wait",
"Seconds": 10,
"Next": "NextState"
}
No próximo exemplo, o Wait
estado espera até um horário absoluto: 14 de março de 2024, às 1:59 da manhã. UTC
"wait_until" : {
"Type": "Wait",
"Timestamp": "2024-03-14T01:59:00Z",
"Next": "NextState"
}
Você não precisa codificar a duração da espera. Por exemplo, tendo em vista os dados de entrada a seguir:
{
"expirydate": "2024-03-14T01:59:00Z"
}
Você pode selecionar o valor de "expirydate" da entrada usando um caminho de referência para selecioná-lo nos dados de entrada.
"wait_until" : {
"Type": "Wait",
"TimestampPath": "$.expirydate",
"Next": "NextState"
}