Este tópico descreve os estados Succeed e apresenta exemplos relacionados.
Visão geral
O estado Succeed encerra uma série de estados antes da execução completa da sequência. Esse comportamento assemelha-se à instrução return em linguagens de programação. Em um fluxo típico, o próximo estado é executado após a conclusão do estado atual. Contudo, se o estado atual for do tipo Succeed, os estados subsequentes não são executados. O estado Succeed finaliza todos os estados no escopo ao qual pertence, e o fluxo prossegue para o escopo de nível superior.
A tabela a seguir descreve os atributos de um estado Succeed.
|
Atributo |
Tipo |
Obrigatório |
Descrição |
Exemplo |
|
Name |
string |
Sim |
Nome do estado. |
my state |
|
Description |
string |
Não |
Descrição do estado. |
describe it here |
|
Type |
string |
Sim |
Tipo do estado. |
Succeed |
|
InputConstructor |
map[string]any |
Não |
Construtor de entrada. |
Consulte InputConstructor. |
|
OutputConstructor |
map[string]any |
Não |
Construtor de saída. |
Consulte OutputConstructor. |
Exemplo
O fluxo de exemplo a seguir usa um estado Succeed para encerrar um escopo.
Type: StateMachine
Name: my-wkfl
SpecVersion: v1
StartAt: Parallel1
States:
- Type: Parallel
Name: Parallel1
End: true
Branches:
- StartAt: Succeed1
States:
- Type: Succeed
Name: Succeed1
OutputConstructor:
FieldA: 123
- StartAt: Pass2
States:
- Type: Pass
InputConstructor:
FieldA: 321
Name: Pass2
End: true
Em comparação com o exemplo de um estado Parallel, o estado Pass1 foi substituído pelo estado Succeed1 neste exemplo. Portanto, considere o estado Succeed como um estado Pass cujo atributo End é verdadeiro.
Após a conclusão de Succeed1, o ParallelBranch #0 implícito é marcado como concluído.
Quando ParallelBranch #0 e ParallelBranch #1 são concluídos, Parallel1 é marcado como concluído. Após a conclusão de Parallel1, o fluxo é marcado como concluído.