会員登録すると
学習することができます。
会員登録する(無料)
登録済みの方はこちら
ログイン

Step Functionsとパート1のまとめ ― 再試行と分岐をワークフローに書き、サービスを選び分ける

目安学習時間 25分

課題

全問正解でレクチャー完了です。

【問題1】

決済の API を呼ぶ処理を含み、全体で2時間かかることがあるワークフローに選ぶものはどれですか。

[選択肢]

【問題2】

Step Functions で、あるステップが再試行しても失敗したときに、通知用のステートへ進ませる書き方はどれですか。

[選択肢]
会員登録すると
学習することができます。
会員登録する(無料)

学ぶ目的

Step Functions とは

Step Functions は、いくつもの処理の順番・分岐・並列・待ちを、ステートマシン(状態の流れ図)として書くサービスです。定義は Amazon States Language という JSON の形で書きます。Lambda の中に「失敗したらもう一度」「この条件ならこちら」と書き込まずに、流れの側で管理できます。

Standard と Express

  • Standard … 最大1年動ける。各ステップは、Retry を指定しない限り一度だけ実行される(exactly-once)。実行の履歴を API で後から見られる。支払いのような、2回実行されると困る処理に向く
  • Express … 最大5分。大量の短い処理に向く。非同期の Express は「少なくとも1回」実行で、2回実行されることがあるので、処理は冪等にする

種類は作った後で変えられません。

Retry と Catch

各ステートには、Retry(どのエラーのときに、何回、どれだけ間を空けて再試行するか。間隔を倍々に広げる指定もできる)と、Catch(再試行しても失敗したら、どのステートへ進むか)を書けます。人の承認を待つ流れは、タスクトークンを渡して返事を待つ形で書けます(Standard のみ)。

パート1のまとめ

問題文の条件から、サービスを選び分けます。「すぐに結果を返す API」は API Gateway と Lambda、「ためて順に処理」は SQS、「1件を複数に配る」は SNS、「中身で振り分ける」は EventBridge、「何段もの処理の順番と再試行」は Step Functions です。

このレクチャーで学ぶこと

  • Step Functions でワークフローを書く利点
  • Standard と Express の違い(時間・実行の回数)
  • Retry と Catch で失敗に備える
  • パート1のサービスを、問題文の条件で選び分ける

質問

まだ質問は投稿されていません。

質問投稿

ログイン後に質問の投稿ができます。