Este tópico descreve a etapa fail e apresenta exemplos de uso.
Introdução
A etapa fail encerra uma sequência de etapas antecipadamente, de forma semelhante às operações raise ou throw em linguagens de programação. Quando um fluxo executa essa etapa, as etapas subsequentes não são processadas. A etapa fail causa a falha da etapa pai. Essa falha se propaga para cima e resulta na falha de todo o fluxo.
Uma etapa fail tem as seguintes propriedades:
(Obrigatório) type: tipo da etapa. O valor deve ser
fail.(Obrigatório) name: nome da etapa.
(Opcional) error: tipo da falha.
(Opcional) cause: motivo da falha.
(Opcional) inputMappings: mapeamentos de entrada.
(Opcional) outputMappings: mapeamentos de saída.
Exemplo
A definição de fluxo a seguir usa uma etapa fail para interromper a execução prematuramente.
Se o valor de
statusna entrada forready, o fluxo executa a etapapass1na primeira ramificação de escolha e, em seguida, a etapafinal.Caso o valor de
statusna entrada sejafailed, o fluxo segue a instruçãogotona segunda ramificação de escolha e executa a etapahandle_failure. Comohandle_failureé uma etapa fail, o fluxo não executa a etapafinalapóshandle_failure.Quando a entrada não contém
statusou seu valor difere dereadyefailed, o fluxo executa as etapas padrão:pass2ehandle_failure.
version: v1
type: flow
steps:
- type: choice
name: mychoice
choices:
- condition: $.status == "ready"
# choice with steps
steps:
- type: pass
name: pass1
goto: final
- condition: $.status == "failed"
goto: handle_failure
default:
# no need to use goto
steps:
- type: pass
name: pass2
- type: fail
name: handle_failure
error: StatusIsNotReady
cause: status is not ready
- type: pass
name: final