Cette rubrique décrit les états Succeed et fournit des exemples connexes.
Présentation
Un état Succeed permet de mettre fin à une série d'états avant leur exécution complète. Il fonctionne de manière similaire à l'instruction return dans les langages de programmation. Dans la définition standard d'un flux, l'état suivant s'exécute une fois l'état actuel terminé. Toutefois, si l'état en cours est un état Succeed, les états suivants ne sont pas exécutés. Un état Succeed termine tous les états compris dans le périmètre auquel il appartient, et le flux reprend au niveau supérieur.
Le tableau ci-dessous répertorie les attributs d'un état Succeed.
|
Attribut |
Type |
Obligatoire |
Description |
Exemple |
|
Name |
string |
Oui |
Nom de l'état. |
my state |
|
Description |
string |
Non |
Description de l'état. |
describe it here |
|
Type |
string |
Oui |
Type de l'état. |
Succeed |
|
InputConstructor |
map[string]any |
Non |
Constructeur d'entrée. |
Consultez InputConstructor. |
|
OutputConstructor |
map[string]any |
Non |
Constructeur de sortie. |
Consultez OutputConstructor. |
Exemple
L'exemple de flux suivant utilise un état Succeed pour clore un périmètre.
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
Par rapport à l'exemple pour un état Parallel, l'état Pass1 est remplacé par l'état Succeed1 dans cet exemple. Par conséquent, un état Succeed peut être considéré comme un état Pass dont l'attribut End a la valeur true.
Une fois l'état Succeed1 terminé, la branche ParallelBranch #0 implicite est marquée comme terminée.
Lorsque les branches ParallelBranch #0 et ParallelBranch #1 sont toutes deux terminées, l'état Parallel1 est marqué comme terminé. Une fois l'état Parallel1 terminé, le flux est considéré comme achevé.