Cette rubrique décrit l'étape d'échec et fournit des exemples d'utilisation.
Introduction
Une étape d'échec interrompt prématurément une séquence d'étapes. Elle s'apparente aux instructions telles que raise ou throw dans les langages de programmation. Lorsqu'un flux exécute une étape d'échec, il n'exécute pas les étapes suivantes. L'étape d'échec fait échouer son étape parente. Cet échec se propage vers le haut, ce qui provoque finalement l'échec de l'intégralité du flux.
Une étape d'échec possède les propriétés suivantes :
(Obligatoire)
type: type de l'étape. La valeur doit êtrefail.(Obligatoire)
name: nom de l'étape.(Facultatif)
error: type de l'erreur.(Facultatif)
cause: raison de l'erreur.(Facultatif)
inputMappings: mappages d'entrée.(Facultatif)
outputMappings: mappages de sortie.
Exemple
La définition de flux suivante utilise une étape d'échec pour terminer prématurément l'exécution du flux.
Si la valeur de
statusdans l'entrée estready, le flux exécute l'étapepass1dans la première branche de choix, puis l'étapefinal.Si la valeur de
statusdans l'entrée estfailed, le flux suit l'instructiongotode la deuxième branche de choix et exécute l'étapehandle_failure. Commehandle_failureest une étape d'échec, le flux n'exécute pas l'étapefinalaprèshandle_failure.Si l'entrée ne contient pas
status, ou si la valeur destatusn'est nireadynifailed, le flux exécute les étapes par défaut, à savoirpass2ethandle_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