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

CloudFlow:失敗

最終更新日:Jan 12, 2025

このトピックでは、失敗状態について説明し、関連する例を示します。

概要

失敗状態は、一連の状態が実行される前に、それらを終了するために使用されます。失敗状態は、プログラミング言語における raisethrow などのアクションに似ています。フローの一般的な定義では、現在の状態が完了した後に次の状態が実行されます。ただし、現在の状態が失敗状態の場合、次の状態は実行されません。 フローが失敗状態になると、スコープ内のすべての状態が終了します。この場合、フロー全体が終了します。

次の表は、失敗状態に含まれる属性について説明しています。

属性

タイプ

必須

説明

Name(名前)

string(文字列)

はい

状態の名前。

my state

Description(説明)

string(文字列)

いいえ

状態の説明。

describe it here

Type(タイプ)

string(文字列)

はい

状態のタイプ。

Fail(失敗)

InputConstructor(入力コンストラクター)

map[string]any

いいえ

入力コンストラクター。

詳細については、InputConstructor をご参照ください。

OutputConstructor(出力コンストラクター)

map[string]any

いいえ

出力コンストラクター。

詳細については、OutputConstructor をご参照ください。

Code(コード)

string(文字列)

いいえ

返されるエラーコード。

customBizCode

Detail(詳細)

string(文字列)

はい

エラーの説明。

my custom error

失敗状態のカスタムエラーを定義する必要があります。カスタムエラーが発生した場合、フローは失敗して終了します。成功 状態では、成功状態が属するフローは、現在のスコープが完了した後に終了します。Code パラメーターを使用してエラーコードを指定し、Detail パラメーターを使用して追加の詳細を指定できます。

次のサンプルフローでは、失敗状態を使用してスコープを終了します。

Type: StateMachine
Name: my-workflow
SpecVersion: v1
Description: " "
StartAt: Choice1
States:
  - Type: Choice
    Name: Choice1
    Branches:
      - Condition: $Input.status == "true"  // $Input.status が "true" と等しい場合
        Next: Pass1
    Default: Fail1
  - Type: Fail
    Name: Fail1
    Code: "customBizCode"
    End: true
  - Type: Pass
    Name: Pass1
    End: true

失敗状態は、End 属性が true でエラーを返す成功状態と見なすことができます。

この例では、$Input.status=="true" 条件が満たされない場合、フローはデフォルト状態に進み、フロー全体が終了します。