【Lambda】Lambda関数をスケジュール実行する
こんにちは。かくすけです。
このブログももうちょっと整理しないとな・・・と思いつつ放置しています。
せめてカテゴリ分けくらいはした方がいいと思うんだけどね。
この記事は↓の記事の続きです。
前回、Rubyの処理を実行するLambda関数を作成しました。
今回は作成したLambda関数を毎日実行するようにスケジューリング設定します。
方法は簡単!LambdaならCloudWatchのイベントを使って簡単にスケジューリングできます。
手順
まずは作成したLambda関数の編集ページを開きます。
画面上部「設定」タブの「Designer」の項目を触ります。
左の「トリガーの追加」リストで「CloudWatch Events」を選択します。
すると「トリガーの設定」という項目が画面下に追加されます。
「ルール」のセレクトボックスを開き
「新規ルールの作成」を選択します。
すると入力項目がいくつか増えます。
「ルール名」「ルールタイプ」「スケジュール式」を設定します。
ルール名 | ご自由に |
---|---|
ルールタイプ | 今回はスケジュールに合わせて実行するので「スケジュール式」を選択 「イベントパターン」というのは「S3にファイルがアップロードされたら~」とか 「サーバー負荷がこれくらいになったら~」とかを条件として設定できるやつですね。 |
スケジュール式 | 適宜 1時間に1回だったら「rate(1 hour)」 3日に1回だったら「rate(1 days)」 みたいな感じで設定します。 画像のルール名とスケジュール式がずれてるのはミスです。ややこしくてすみません。 rateではなくcronを使用するともっと細かいスケジュール設定ができます。 |
「追加」ボタンを押します。
次のような表示にかわります。
ページ右上の「保存」ボタンを押します。
問題がなければ次のような表示にかわります。
これでスケジュール設定が完了しました!
後は待ってちゃんと動作しているか確認しましょう!