Transições - 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á.

Transições

Ao iniciar uma nova execução da máquina de estado, o sistema começa com o estado mencionado no campo de nível superior StartAt. Esse campo, uma string. deve corresponder exatamente, inclusive em maiúsculas e minúsculas, ao nome de um estado no fluxo de trabalho.

Depois que um estado é executado, o AWS Step Functions usa o valor do campo Next para determinar para qual estado seguinte avançar.

Os campos Next também especificam nomes de estados como strings. Essa string diferencia maiúsculas de minúsculas e deve corresponder exatamente ao nome do estado especificado na descrição da máquina de estado.

Por exemplo, o estado a seguir inclui uma transição para NextState.

"SomeState" : { ..., "Next" : "NextState" }

A maioria dos estados permite somente uma regra de transição com o campo Next. No entanto, determinados estados de controle de fluxo, por exemplo, um estado Choice, permitem que você especifique várias regras de transição, cada uma com o próprio campo Next. A Amazon States Language fornece detalhes sobre cada um dos tipos de estado que você pode especificar, bem como informações sobre como especificar transições.

Os estados podem ter várias transições de entrada de outros estados.

Esse processo se repete até alcançar um estado terminal (um estado com "Type": Succeed, "Type": Fail ou "End": true) ou até que ocorra um erro de runtime.

Quando você redrive uma execução, ela é considerada uma transição de estado. Além disso, todos os estados que são executados novamente em um redrive também são considerados transições de estado.

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

  • Os estados podem ocorrer em qualquer ordem no bloco delimitador. No entanto, a ordem em que eles estão listados não afeta a ordem em que estão sendo executados. Essa ordem é determinada pelo conteúdo dos estados.

  • Em uma máquina de estado, só pode haver um estado designado como o estado start. O estado start é definido pelo valor do campo StartAt na estrutura de nível superior.

  • Dependendo da lógica da máquina de estado, por exemplo, se a máquina de estado tiver várias ramificações lógicas, você pode ter mais de um estado end.

  • Se a máquina de estado tiver somente um estado, esse estado poderá ser início ou fim.

Transições no estado Mapa Distribuído

Ao usar o estado Map no modo distribuído, será cobrada uma transição de estado para cada execução de fluxo de trabalho secundária iniciada pelo estado Mapa distribuído. Quando você usa o estado Map no modo em linha, não é cobrada uma transição de estado para cada iteração do estado Mapa inline.

Você pode otimizar o custo usando o estado Map no modo distribuído e incluir um fluxo de trabalho aninhado na definição do estado Map. O estado Mapa Distribuído também agrega mais valor ao iniciar execuções de fluxo de trabalho secundárias do tipo Express. O Step Functions armazena a resposta e o status das execuções de fluxo de trabalho secundárias do Express, o que reduz a necessidade de armazenar dados de execução no CloudWatch Logs. Você também pode obter acesso aos controles de fluxo disponíveis com um estado Mapa Distribuído, como definir limites de erro ou agrupar um grupo de itens em lotes. Para obter informações sobre a definição de preço do Step Functions, consulte Definição de preço para o AWS Step Functions.