すべてのプロダクト
Search
ドキュメントセンター

CloudFlow:失敗ステップ

最終更新日:Jan 12, 2025

このトピックでは、失敗ステップと関連する例について説明します。

概要

失敗ステップは、プログラミング言語の raisethrow と同様に、一連のステップを事前に終了します。フローで失敗ステップが実行されると、失敗ステップに続くステップは実行されず、失敗ステップの親ステップも失敗します。これは、フローの実行が失敗するまで続きます。

失敗ステップには、次の属性が含まれています。

  • type: 必須。ステップのタイプ。値 fail は、ステップが失敗ステップであることを示します。
  • name: 必須。ステップ名。
  • error: オプション。エラータイプ。
  • cause: オプション。エラーの原因。
  • inputMappings: オプション。入力マッピング。
  • outputMappings: オプション。出力マッピング。

次のサンプルフローは、失敗ステップを使用して事前に終了します。

  • 入力の status の値が ready の場合、最初の選択肢の pass1 ステップと final ステップが順番に実行されます。
  • 入力の status の値が failed の場合、2 番目の選択肢の goto 命令が実行され、選択肢ステップが終了し、handle_failure ステップが実行されます。handle_failure ステップは失敗ステップです。したがって、実行後、final ステップは実行されません。
  • 入力が status を含まない場合、または status の値が ready でも failed でもない場合、デフォルトの選択肢が実行されます。つまり、pass2 ステップと handle_failure ステップが実行されます。
version: v1
type: flow
steps:
  - type: choice
    name: mychoice
    choices:
      - condition: $.status == "ready"
        # 選択肢にステップが含まれる場合
        steps:
          - type: pass
            name: pass1
        goto: final
      - condition: $.status == "failed"
        goto: handle_failure
    default:
      # goto を使用する必要はありません
      steps:
        - type: pass
          name: pass2
  - type: fail
    name: handle_failure
    error: StatusIsNotReady
    cause: status is not ready  # status が ready ではありません
  - type: pass
    name: final