Lambda関数のスケジュール実行
Lambda関数を定期的に実行したい場合、今までは EventBridge ルール の cron式を使ってスケジュールをセットすることが多かったと思います。
その後、EventBridge スケジューラ が登場しました。
AWSとしては、スケジュールは EventBridge スケジューラ を推奨しているようです。
Lambda関数のエイリアスやバージョンの実行は?
今まで(移行時に課題あり)
じゃあ EventBridge スケジューラ に移行してみよう、と進めていたところで、困りました。
Lambda関数のバージョンやエイリアスを普段よく使っているのですが、バージョンやエイリアスの選択が画面上にありませんでした。
で、仕方なく EventBridge スケジューラ には移行できないなあ、とあきらめていました。
以下リンクの記事で見ると、添付の画像ではLambda関数のバージョンやエイリアスは選べそうにないですよね。
これから(課題解消!)
だったんですが、
たまたまマネージメントコンソールを見てみたら エイリアスとバージョンが選べるようになっていました!バンザイ!🙌
スケジューラーに移行するといいこと
上記リンク先の記事からの抜粋させてもらって申し訳ないのですが、300ルールの制限が無い ことと、タイムゾーンの指定が出来る ことが挙げられています。
個人的には、タイムゾーンを Asia/Tokyo
を選択すると、9時間の引き算をしなくてよくなったのが楽 ですね。
楽ってだけじゃなく、日本時間の 0:00~8:59 のスケジュールの場合に、曜日を変え忘れて1日ずれるというやりがちの事故も防げます。
また、日付
に *
を入れると自動的に 曜日
に ?
が入ってくれます。これも 「cronのハテナの記法ってどうだったかな・・・」と迷わなくて楽 ですね。
逆に、EventBridgeルールから移行する際は、数字をコピペしないように注意が必要です。
ぜひ、EventBridge スケジューラを使っていきましょう。