Site icon imageTomoMemo.dev

Memo on programming. Provided by Tomo with passion.

AWS Step Functionsのステータス(State)まとめ

AWSのStep Functionsを最近よくつかうのでステータスの概念をまとめる。Stateという言葉をよく使う。

基本ステータス(State)

  • Pass
    • 入力をそのまま出力として渡すだけのシンプルなステータス
  • Task
    • Lambda関数やAWS APIなどの作業を実行するステータス
  • Choice
    • 条件分岐を行うステータス
  • Wait
    • 指定時間または特定の時刻まで待機するステータス
  • Succeed
    • ステートマシンを成功として終了させるステータス
  • Fail
    • ステートマシンを失敗として終了させるステータス
  • Parallel
    • 並列処理を行うステータス
  • Map
    • 配列の各要素に対して同じ処理を繰り返し実行するステータス

各ステータスの特徴

Pass
  • 単純にデータを渡すだけのステータス
  • テスト段階や固定値を渡す際に使用
Task
  • 作業を実行するステータス
  • Lambda関数やAWS APIなどの外部サービスを呼び出す
  • タイムアウトやエラー処理の設定が可能
Choice
  • 条件に基づいて次の遷移先を決定
  • 複数の条件と、それぞれに対応する次のステータスを定義可能
Wait
  • 処理を一時停止するステータス
  • 指定秒数の待機や特定の時刻まで待機が可能
Succeed
  • ステートマシンを正常終了させるステータス
  • 終了ステータスのため、次のステータスへの遷移はない
Fail
  • ステートマシンを異常終了させるステータス
  • エラーコードとエラーメッセージを設定可能
Parallel
  • 並列して複数の処理を同時実行するステータス
  • 各ブランチで独立した処理フローを定義可能
Map
  • 配列の各要素に対して同じ処理を実行
  • 大量のデータを同じ処理で扱う場合に便利

使い方のポイント

  • 各ステータスを組み合わせて複雑なワークフローを構築できる
  • JSONベースでステートマシンを定義する
  • AWS Step Functions Visual Workflowでグラフィカルに確認しながらやるといい
  • 条件分岐や並列処理、エラーハンドリングなど高度な制御ができるのもいい

Powered by Tomo with passion.