本文介绍了成功步骤和其相关使用示例。
介绍
成功(Succeed)步骤用来提前结束一系列串行步骤,类似于编程语言中的return
。FDL steps
定义的步骤是串行的,通常一个步骤执行完成后会继续执行后续步骤,而成功步骤不会继续执行下一个步骤。成功步骤通常和选择步骤结合使用,在选择步骤条件满足的情况下跳转到一个成功步骤,从而不再执行其它步骤。
成功步骤包含以下属性:
- (必需)type:succeed表示该步骤是成功步骤。
- (必需)name:步骤名称。
- (可选)inputMappings:输入映射。
- (可选)outputMappings:输出映射。
示例
下面的流程定义使用成功步骤提前结束执行流程。
- 如果输入中的
status
的值是ready
,则会执行第一个条件选项的步骤pass1
,然后执行final
。由于final
是成功步骤,其结束后不会继续执行handle_failure
步骤。 - 如果输入中的
status
的值是failed
,则会执行第二个条件选项的跳转,结束选择步骤执行handle_failure
。 - 如果输入中不存在
status
或者status
的值不是ready
和failed
,则会执行默认选项逻辑,即pass2
和handle_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