ASL(Amazon States Language)の定義
{
"Comment": "An example of the Amazon States Language using a choice state.",
"StartAt": "FirstState",
"States": {
"FirstState": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:FUNCTION_NAME",
"Next": "ChoiceState"
},
"ChoiceState": {
"Type" : "Choice",
"Choices": [
{
"Variable": "$.foo",
"NumericEquals": 1,
"Next": "FirstMatchState"
},
{
"Variable": "$.foo",
"NumericEquals": 2,
"Next": "SecondMatchState"
}
],
"Default": "DefaultState"
},
"FirstMatchState": {
"Type" : "Task",
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:OnFirstMatch",
"Next": "NextState"
},
"SecondMatchState": {
"Type" : "Task",
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:OnSecondMatch",
"Next": "NextState"
},
"DefaultState": {
"Type": "Fail",
"Error": "DefaultStateError",
"Cause": "No Matches!"
},
"NextState": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:FUNCTION_NAME",
"End": true
}
}
}
ステートマシンの内容
| フィールド |
内容 |
| Comment |
ASLについてのコメント(概要等) |
| StartAt |
最初に実行するState |
| TimeoutSeconds |
処理を実行する時間 |
| Version |
ASLのバージョン |
| States |
ステートマシンを構成するStateを定義する。複数のStateの指定が可能。 |
Stateの種類
| フィールド |
内容 |
| Task |
ひとつの処理単位 |
| Wait |
処理をストップする時間 |
| Pass |
入力値をそのまま出力に渡す |
| Parallel |
並列処理 |
| Choice |
条件分岐 |
| Map |
配列の要素ごとに処理を実行する |
| Fail |
実行結果を失敗とする |
| Succeed |
実行結果を成功とする |