Amazon EventBridge で Step Functions を定期実行する
はじめに
EventBridgeからStepFunctionsを定期的に呼び出して実行するための手順です。
Amazon EventBridgeとは?
システムのイベントやスケジュールをトリガーにして、後続処理を実行するためのサービスです。
例えば毎日00:00に Lambda関数を実行したい場合、EventBridgeでスケジュール設定をすれば実現可能となります。
ターゲット
EventBridgeが呼び出す後続の処理のこと。
今回はStep Functionsを使います。
事前にStep Functionsでステートマシンを作成しておきます。
EventBridgeでスケジュール設定をする
それではハンズオンです。
AWSコンソールからAmazon EventBridgeを開き、左メニューの「スケジュール」を選択します。
スケジュールの一覧が表示されるので、右側にある「スケジュールを作成」ボタンを押下します。
スケジュール名を「my-first-schedule」とします。スケジュールグループはデフォルトにします。
スケジュールのパターンを設定します。
「定期的なスケジュール」を選択し、cron式を用いて定期処理を設定します。
例では毎日12:20に実行されるようになります。
「次へ」ボタンを押下し、ターゲットの選択をします。
Step Functionsを選択します。
事前に用意したおいたステートマシンを選択します。
パラメータを設定したい場合、JSON形式で設定します。
「次へ」ボタンを押下し、設定オプションの「スケジュール完了後のアクション」は「NONE」を選択します。
実行ロールは新しく作成します。
「次へ」ボタンを押下後、確認画面が表示されるので「スケジュールを作成」ボタンを押下します。
作成後、一覧に作成したスケジュールが表示されます。
定期実行時間経過後に、Step Functionsの実行ログを開きます。
「成功」と表示されていれば設定が完了となります。
続いてパラメータが渡されているかも確認しましょう。
ステートマシンの実行ログを開き、入力に表示されていればパラメータが渡ってきていることになります。
その他
定期実行の開始日時を設定したい場合
時間枠を設定すればOKです。
Discussion