Step Functions@AWSリソース¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
01. Step Functionsとは¶
AWSサービスを組み合わせて、ワークフローエンジンを作成できる。
02. セットアップ¶
AWSリソースのAPIコール¶
▼ APIコールできるリソース¶
▼ AWS Lambda¶
*実装例*
{
"StartAt": "Call AWS Lambda",
"States":
{
"Call AWS Lambda":
{
"Type": "Task",
"Resource": "arn:aws:states:::lambda:invoke.waitForTaskToken",
"Parameters":
{
"FunctionName": "arn:aws:lambda:ap-northeast-1:<AWSアカウントID>:foo-function:1",
},
"Retry":
[{"ErrorEquals": ["<再試行の対象とするエラー>"], "MaxAttempts": 0}],
"End": "true",
"Comment": "The state that call AWS Lambda",
},
},
}
AWS API Gatewayとの連携¶
▼ 注意が必要な項目¶
設定値 | 補足 | |
---|---|---|
HTTPメソッド | POST | GETメソッドでは動作しない。 |
アクション | StartExecution | |
実行ロール | IAMロールのARN | StartExecutionを許可する。 |
{
"Version": "2012-10-17",
"Statement":
[
{
"Effect": "Allow",
"Action": "states:StartExecution",
"Resource": "arn:aws:states:*:<AWSアカウントID>:stateMachine:*",
},
],
}
▼ レスポンス構造¶
以下がレスポンスされれば、AWS API GatewayがStep Functionsをコールできたことになる。
{
"executionArn": "arn:aws:states:ap-northeast-1:<AWSアカウントID>:execution:prd-foo-doing-state-machine:*****",
"startDate": 1.638244285498E9,
}