📝
[小ネタ] Step Functions ステートマシン実行中にステートマシンを自己削除できるか
結論
できました。
検証
以下の設定で検証しました。
- ステートマシンの IAM ロール: AdministratorAccess 権限を付与
- ステートマシン定義: 以下の通り
{
"Comment": "A state machine that deletes itself",
"StartAt": "Wait",
"States": {
"Wait": {
"Type": "Wait",
"Seconds": 10,
"Next": "DeleteStateMachine"
},
"DeleteStateMachine": {
"Type": "Task",
"Resource": "arn:aws:states:::aws-sdk:sfn:deleteStateMachine",
"Parameters": {
"StateMachineArn.$": "$$.StateMachine.Id"
},
"End": true
}
}
}
ステートマシンが実行されていることを確認するために Wait を入れてあります。
実行してみる
入力値は空でステートマシンを実行します。

「State machine test has been deleted」というエラーで実行は失敗扱いですが、ステートマシンの自己削除はできています。

まとめ
今回は Step Functions ステートマシン実行中にステートマシンを自己削除できるかという内容を紹介しました。
どなたかの参考になれば幸いです。
Discussion