0
0

More than 1 year has passed since last update.

Step Functions チュートリアル

Posted at

背景

Step Functions の書き方を勉強するため、AWS 公式のチュートリアルをやってみる。

(公式の日本語は変なので、意味が分からない場合は英語を参照するといいかも)

Lambda を使った Step Functions ステートマシンの作成

AWS Lambda 関数を使って、 Task ステートを実装する Step Functions ステートマシンを作成する。

ステップ 1: Lambda 用の IAM ロールを作成する

ステップ 2: Lambda 関数を作成する

ランタイムは Node.js 14.x を選択し、下記コードをコードソースにペースト。

exports.handler = (event, context, callback) => {
    callback(null, "Hello, " + event.who + "!");
};

ステップ 3: Lambda 関数をテストする

テストイベントに下記データをペーストする。

{
    "who": "AWS Step Functions"
}

ステップ 4: ステートマシンの作成

ステートマシン定義ペインで、下記のステートマシン定義をペーストする。

{
  "Comment": "A Hello World example of the Amazon States Language using an AWS Lambda function",
  "StartAt": "HelloWorld",
  "States": {
    "HelloWorld": {
      "Type": "Task",
      "Resource": arn:aws:lambda:ap-northeast-1:xxx:function:HelloFunction,
      "End": true
    }
  }
}

ステップ 5: 新しい実行の開始

Step Functions を使用したアクティビティステートマシンの作成

Java と AWS Step Functions を使用して、アクティビティベースのステートマシンを作成する。
アクティビティにより、ステートマシンの別の場所で実行されるワーカーコードを制御できる。

ステップ 1: アクティビティの作成

ステップ 2: ステートマシンの作成

ステップ 3: ワーカーの実装

ステップ 4: 実行の開始

Java の知識が必要だったので、アクティビティは実行できず。
(ビルドが必要だが、知識不足でビルドまで到達できず)

雰囲気としては、

  • ローカルで実行したスクリプトを、Step Functions の一部に取り込める

ってことはなんとなく分かった。

Step Functions ステートマシンを使用してエラー条件を処理する

Catch フィールドを使用する ステートマシンを作成する。

ステップ 1: Lambda 用の IAM ロールを作成する

ステップ 2: 失敗する Lambda 関数を作成する

ステップ 3: Lambda 関数をテストする

ステップ 4: Catch フィールドを使用するステートマシンを作成する

ステップ 5: 新しい実行の開始

CloudWatch イベントを使用して定期的にステートマシンの実行を開始する

ステップ 1: ステートマシンの作成

ステップ 2: CloudWatch イベントルールの作成

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0