成功步骤

本文介绍了成功步骤和其相关使用示例。

介绍

成功(Succeed)步骤用来提前结束一系列串行步骤,类似于编程语言中的return。FDL steps定义的步骤是串行的,通常一个步骤执行完成后会继续执行后续步骤,而成功步骤不会继续执行下一个步骤。成功步骤通常和选择步骤结合使用,在选择步骤条件满足的情况下跳转到一个成功步骤,从而不再执行其它步骤。

成功步骤包含以下属性:

  • (必需)type:succeed表示该步骤是成功步骤。
  • (必需)name:步骤名称。
  • (可选)inputMappings:输入映射。
  • (可选)outputMappings:输出映射。

示例

下面的流程定义使用成功步骤提前结束执行流程。

  • 如果输入中的status的值是ready,则会执行第一个条件选项的步骤pass1,然后执行final。由于final是成功步骤,其结束后不会继续执行handle_failure步骤。
  • 如果输入中的status的值是failed,则会执行第二个条件选项的跳转,结束选择步骤执行handle_failure
  • 如果输入中不存在status或者status的值不是readyfailed,则会执行默认选项逻辑,即pass2handle_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