このトピックでは、失敗ステップと関連する例について説明します。
概要
失敗ステップは、プログラミング言語の raise や throw と同様に、一連のステップを事前に終了します。フローで失敗ステップが実行されると、失敗ステップに続くステップは実行されず、失敗ステップの親ステップも失敗します。これは、フローの実行が失敗するまで続きます。
失敗ステップには、次の属性が含まれています。
- 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