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
Saiba mais sobre como transmitir dados entre estados 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 de 0 a 99999999. Em JSONata estados, você pode especificar alternativamente uma JSONata expressão que deve ser avaliada como um número inteiro 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 da 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 caminho nos dados de entrada dos estados para um valor inteiro que especifica o tempo de espera, em segundos, antes de prosseguir para o próximo estado.
-
TimestampPath
(Opcional, JSONPath somente) -
Um caminho nos dados de entrada dos estados até uma data e hora absolutas (carimbo de data/hora) a serem esperadas antes de prosseguir para o próximo 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 exemplo a seguir, o estado Wait
aguarda um tempo absoluto: 14 de março de 2024, à 1h59, 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"
}