はじめに
Amazon Lambda は AWS で提供されているサービスの一つで
任意の関数を実行時間に応じて課金する形で実行できるサービスです。
今後サーバレスアーキテクチャの時代がくればかなり重要な立ち位置となるサービスです。
この Amazon Lambda は実行のトリガーとして様々な要素を利用可能です。
* 明示的な呼び出し
* S3にファイルが置かれた
* SNSを受け取った
* 定期間隔(Cloud Watch Events)
などです。
今回はこの定期間隔で1分毎に Lambda を実行するお話です。
何が問題なの?
Cloud Watch Events に */1 * * * * って書けばいいだけじゃないの?
と思う方もいるかもしれません。
しかし、Lambda は少々癖があり、実行間隔は最低5分に設定されており、それ以下の実行間隔を指定してもバリデーションで弾かれてしまいます。
どうするの?
結論から言うと5分毎に実行するトリガーを1分ずつずらして5個並べます。
手順
まずは適当に Lambda を用意します。
作成した Lambda の Events を選択します。
Add Events を選択し、Scheduled Event を選択します。
適当に名前をつけて、実行間隔に cron
を指定します。
0-55/5 * ? * * * を指定して登録します。
1-56/5 * ? * * *
2-57/5 * ? * * *
3-58/5 * ? * * *
4-59/5 * ? * * *
を並べれば完成です。
このように1分毎に Lambda が実行されるようになりました。