Estrutura da máquina de estado na Amazon States Language para fluxos de trabalho do Step Functions - 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á.

Estrutura da máquina de estado na Amazon States Language para fluxos de trabalho do Step Functions

As máquinas de estado são definidas usando JSON texto que representa uma estrutura contendo os seguintes campos.

Comment (opcional)

Uma descrição humanamente legível da máquina de estado.

StartAt (obrigatório)

Uma string que deve corresponder exatamente (faz distinção de maiúsculas e minúsculas) ao nome de um dos objetos de estado.

TimeoutSeconds(Opcional)

O número máximo de segundos que uma execução da máquina de estado pode durar. Se a execução durar mais do que o tempo especificado, ela falhará com um States.Timeout Nome de erro.

Version (opcional)

A versão da Amazon States Language usada na máquina de estado (o padrão é "1.0").

States (obrigatório)

Um objeto que contém um conjunto de estados separados por vírgula.

O campo States contém estados.

{ "State1" : { }, "State2" : { }, ... }

A máquina de estado é definida pelos estados que ela contém e pelos relacionamentos entre eles.

Veja um exemplo a seguir.

{ "Comment": "A Hello World example of the Amazon States Language using a Pass state", "StartAt": "HelloWorld", "States": { "HelloWorld": { "Type": "Pass", "Result": "Hello World!", "End": true } } }

Quando uma execução dessa máquina de estado é iniciada, o sistema começa com o estado mencionado no campo StartAt ("HelloWorld"). Se esse estado tiver um campo "End": true, a execução será interrompida e retornará um resultado. Do contrário, o sistema procurará um campo "Next": e passará para o estado seguinte. Esse processo é repetido até que o sistema alcance um estado final (um estado com "Type": "Succeed", "Type": "Fail" ou "End": true) ou até que ocorra um erro de tempo de execução.

As regras a seguir aplicam-se a estados dentro de uma máquina de estado:

  • Os estados podem ocorrer em qualquer ordem dentro do bloco delimitador, mas a ordem na qual eles são listados não afeta a ordem na qual eles são executados. O conteúdo dos estados determina essa ordem.

  • Dentro de uma máquina de estado, pode haver somente um estado designado como estado start, que é indicado pelo valor do campo StartAt na estrutura de nível superior. Esse é o primeiro estado executado quando a execução se inicia.

  • Qualquer estado para o qual o campo End seja true é considerado um estado end (ou terminal). Dependendo da lógica da máquina de estado (por exemplo, se sua máquina de estado tiver várias ramificações de execução), você pode ter mais de um estado end.

  • Se sua máquina de estado tiver somente um estado, esse estado poderá ser start ou end.

Campos de estado comuns em fluxos de trabalho

Os campos a seguir são comuns a todos os elementos do estado.

Type (obrigatório)

O tipo de estado.

Next

O nome do próximo estado que será executado quando o estado atual for concluído. Alguns tipos de estado, como Choice, permitem vários estados de transição.

Se o estado atual for o último estado no fluxo de trabalho ou um estado terminal, como Estado bem-sucedido do fluxo de trabalho ou Estado de falha do fluxo de trabalho, não será necessário especificar o campo Next.

End

Designa o estado como um estado terminal (encerra a execução) caso seja definido como true. Pode haver qualquer quantidade de estados finais por máquina de estado. Apenas um Next ou End pode ser usado em um estado. Alguns tipos de estado, como Choice, ou estados terminais, como Estado bem-sucedido do fluxo de trabalho eEstado de falha do fluxo de trabalho, não são compatíveis nem usam o campo End.

Comment (opcional)

Apresenta uma descrição humanamente legível da máquina de estado.

InputPath (opcional)

Um caminho que seleciona uma parte da entrada do estado a ser passada para a tarefa do estado para processamento. Se omitido, terá o valor $, que designa a entrada completa. Para obter mais informações, consulte Processamento de entrada e saída.

OutputPath (opcional)

Um caminho que seleciona uma parte da saída do estado a ser transmitida para o próximo estado. Se omitido, terá o valor $, que designa a saída completa. Para obter mais informações, consulte Processamento de entrada e saída.