Open6
StepFunctionsめも
AWS Toolkit for VS Code の StepFunctions向け機能
jsonファイルを*.asl.json
にするとコードスニペットやバリデーションが機能する。
開いてるファイルの右上にステートマシン図を描画するボタンも出てくる。
アクセスキーをCLIに登録しておけばAWS上のステートマシン一覧取得、DL、更新、実行などもできる。
InputPath
ステートマシンへの入力が以下と仮定。
{
"comment": "Example for InputPath.",
"dataset1": {
"val1": 1,
"val2": 2,
"val3": 3
},
"dataset2": {
"val1": "a",
"val2": "b",
"val3": "c"
}
}
ステートマシンの定義が以下ならば
{
"Comment": "InputPath sample",
"StartAt": "Pass",
"States": {
"Pass": {
"Type": "Pass",
"InputPath": "$.dataset2",
"End": true
}
}
}
"Pass"ステートへの入力は以下になる
{
"dataset2": {
"val1": "a",
"val2": "b",
"val3": "c"
}
}
Parameters
ResultSelector
ResultPath
ResultPathを指定しない場合は"ResultPath": "$"
を指定したのと同等になる。
これはタスクの実行結果が返すレスポンスに完全に置き換えられる
"ResultPath": null
とすると、タスクの実行結果レスポンスは完全に捨てられる=ステートマシンへの入力がそのまま次のステートへと渡る。
"ResultPath": "$.taskresult"
のようにすると、タスク実行結果のレスポンスはステートマシンへの入力に追加される形で含まれ、次のステートへと渡される。
ここで"taskresult"という属性がステートマシン入力の属性に存在する場合、入力の属性を上書きして次のステートへと渡す。