Uma etapa succeed encerra um fluxo serial antecipadamente, semelhante à instrução return em linguagens de programação.
Introdução
As etapas definidas em um bloco steps da Flow Definition Language (FDL) são executadas em série. Uma etapa succeed interrompe essa sequência e finaliza o fluxo antes do previsto, funcionando como uma instrução return em linguagens de programação. É comum combinar etapas succeed com etapas choice para impedir a execução subsequente quando uma condição específica é atendida.
Uma etapa succeed possui as seguintes propriedades:
(Obrigatório) type: O valor succeed indica que a etapa é do tipo succeed.
(Obrigatório) name: Nome da etapa.
(Opcional) inputMappings: Mapeamento de entrada.
(Opcional) outputMappings: Mapeamento de saída.
Exemplo
A definição de fluxo a seguir utiliza uma etapa succeed para encerrar a execução antecipadamente com base nas condições de entrada.
Se o valor de
statusna entrada forready, a etapapass1da primeira escolha será executada, seguida pela etapafinal. Comofinalé uma etapa succeed, a etapahandle_failurenão será executada posteriormente.Caso o valor de
statusna entrada sejafailed, a segunda escolha será acionada. Isso finaliza a etapa choice e executahandle_failure.Quando a entrada não contém
statusou seu valor difere dereadyefailed, a lógica padrão entra em ação:pass2ehandle_failure.
version: v1
type: flow
steps:
- type: choice
name: mychoice
choices:
- condition: $.status == "ready"
# choice with steps
steps:
- type: pass
name: pass1
- condition: $.status == "failed"
# choice with goto
goto: handle_failure
default:
# choice with both steps and goto
steps:
- type: pass
name: pass2
goto: handle_failure
- type: succeed
name: final
- type: pass
name: handle_failure