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

介绍

成功(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