Este tema describe los estados Succeed y proporciona ejemplos relacionados.
Descripción general
Un estado Succeed se usa para finalizar una serie de estados antes de que esta se ejecute por completo. Este estado es similar a la instrucción return en los lenguajes de programación. En la definición típica de un flujo, el siguiente estado se ejecuta después de que finaliza el estado actual. Sin embargo, si el estado actual es de tipo Succeed, los estados subsecuentes no se ejecutan. Un estado Succeed termina todos los estados dentro del ámbito al que pertenece y el flujo continúa en el ámbito de nivel superior.
A continuación se describen los atributos que contiene un estado Succeed.
|
Atributo |
Tipo |
Obligatorio |
Descripción |
Ejemplo |
|
Name |
string |
Sí |
El nombre del estado. |
my state |
|
Description |
string |
No |
La descripción del estado. |
describe it here |
|
Type |
string |
Sí |
El tipo del estado. |
Succeed |
|
InputConstructor |
map[string]any |
No |
El constructor de entrada. |
Consulte InputConstructor. |
|
OutputConstructor |
map[string]any |
No |
El constructor de salida. |
Consulte OutputConstructor. |
Ejemplo
El siguiente flujo de ejemplo usa un estado Succeed para finalizar un ámbito.
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
En comparación con el example for a Parallel state, en este ejemplo el estado Pass1 se reemplaza por el estado Succeed1. Por lo tanto, un estado Succeed puede considerarse como un estado Pass cuyo atributo End es true.
Una vez que Succeed1 finaliza, la rama implícita ParallelBranch #0 se marca como completada.
Cuando ParallelBranch #0 y ParallelBranch #1 finalizan, Parallel1 se marca como completado. Después de que Parallel1 termina, el flujo se marca como completado.