背景
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
フィールドを使用する ステートマシンを作成する。