📝

[小ネタ] 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