AWS Step Functions
開発者ガイド

States

有限ステートマシンは、状態の数、関係、入力および出力としてアルゴリズムを表現できます。AWS Step Functions では、Amazon ステートメント言語 で記述された、有限ステートマシンとしてワークフローを表現することで、個別のタスクを調整できます。個別の状態では、入力に基づいて決定を行い、アクションを実行して、出力を他の状態に渡すことができます。Step Functions は、ワークフローを Amazon ステートメント言語 で表現します。Step Functions コンソールは、そのステートマシンのグラフィック表示を提供することで、アプリケーションロジックを視覚化します。

状態はステートマシンの要素です。状態は名前で参照されます。任意の文字列を指定できますが、ステートマシン全体の範囲で一意である必要があります。

注記

状態のインスタンスは、その実行が終了するまで存在します。

状態はステートマシン内でさまざまな関数を実行できます。

  • ステートマシンで何らかの作業をする (Task 状態)。

  • 実行の選択肢間で選択する (Choice 状態)

  • 失敗または成功で実行を停止する (Fail または Succeed 状態)

  • 入力を単純に出力に渡す、または一部の固定データを出力する (Pass 状態)

  • 一定時間または指定された時刻/日付まで遅延を提供する (Wait 状態)

  • 実行の並列ブランチを開始する (Parallel 状態)

たとえば、次に示すのは、Lambda 関数を実行する HelloWorld という状態の例です。

"HelloWorld": { "Type": "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:HelloFunction", "Next": "AfterHelloWorldState", "Comment": "Run the HelloWorld Lambda function" }

状態は多くの共通機能を共有します。

  • 各状態には、必ずその状態のタイプを示す Type フィールドがあります。

  • 各状態は任意で、人間が読んで理解できる状態の説明を入力できる Comment フィールドを持つことができます。

  • 各状態 (Succeed または Fail 状態を除く) には Next フィールドが必要です。または、代わりに End フィールドを指定して終了状態にできます。

    注記

    Choice 状態には 1 つ以上の Next がある場合がありますが、各 Choice ルール内には 1 つのみです。Choice 状態では End を使用できません。

特定の状態タイプには追加フィールドが必要です。または共通フィールドの使用方法を再定義します。

Amazon ステートメント言語 を使用して定義できるさまざまな状態の詳細については、「状態」を参照してください。

ステートマシンが作成され実行されると、Step Functions コンソールの [Execution Details] ページで、各状態に関する情報 (入力および出力、アクティブ化された日時と所要時間) にアクセスできます。