Estado de espera do fluxo de trabalho - AWS Step Functions

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á.

Estado de espera do fluxo de trabalho

Gerenciar estados e transformar dados

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. Nos estados JSONata, você também pode especificar uma expressão JSONata 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 time stamps devem estar de acordo com o perfil RFC3339 da ISO 8601. Existem também as restrições de se ter um T maiúsculo para as partes de data e hora e um Z maiúsculo para indicar que não existe uma compensação de fuso horário numérica; por exemplo, 2024-08-18T17:33:00Z.

Nos estados JSONata, você pode especificar uma expressão JSONata 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, somente JSONPath)

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, somente JSONPath)

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" }