Une étape de succès met fin prématurément à un flux séquentiel, à l'instar d'une instruction return dans les langages de programmation.
Présentation
Les étapes définies dans le bloc steps du Flow Definition Language (FDL) s'exécutent de manière séquentielle. Une étape de succès interrompt cette séquence et termine le flux prématurément, comme le ferait une instruction return dans un langage de programmation. On combine souvent les étapes de succès avec des étapes de choix pour arrêter l'exécution dès qu'une condition spécifique est remplie.
Une étape de succès possède les propriétés suivantes :
(Obligatoire) type : la valeur
succeedindique que l'étape est une étape de succès.(Obligatoire) name : le nom de l'étape.
(Facultatif) inputMappings : le mappage d'entrée.
(Facultatif) outputMappings : le mappage de sortie.
Exemple
La définition de flux suivante utilise une étape de succès pour mettre fin à l'exécution prématurément selon les conditions d'entrée.
Si la valeur de
statusdans l'entrée estready, l'étapepass1du premier choix s'exécute, suivie de l'étapefinal. Commefinalest une étape de succès, l'étapehandle_failurene s'exécute pas ensuite.Si la valeur de
statusdans l'entrée estfailed, le deuxième choix s'exécute. Cela met fin à l'étape de choix et lance l'exécution dehandle_failure.Si l'entrée ne contient pas
statusou si la valeur destatusn'est nireadynifailed, la logique par défaut s'exécute :pass2puishandle_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