Edited at

AWS Lambda - Scheduled EventのCron書式

More than 3 years have passed since last update.

AWS Lambdaで、Scheduled Eventをcron形式で設定しようとしたら小ハマりしたので備忘録。基本的には以下の話そのまま。


Walkthrough 5: Using Lambda Functions to Process Scheduled Events (Python)

http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/getting-started-scheduled-events.html



基本書式

各項目は半角スペース区切りで、時間はUTCで指定する。


cron(Minutes Hours Day-of-month Month Day-of-week Year)


「分、時、日、月、曜日、年」の順ですね。一般的なcronにはyearは無いわけで、一枠多いことにご注意。


サンプル

上のリンクのサンプルそのままですが。注意すべきはDay-of-weekのところ、「*」だと通らないので「?」を使う必要あり。

Example
Cron expression

毎日 10:00am (UTC)
cron(0 10 * * ? *)

毎日 12:15am (UTC)
cron(15 12 * * ? *)

月曜から金曜の 06:00pm (UTC)
cron(0 18 ? * MON-FRI *)

毎月1日の 8:00am (UTC)
cron(0 8 1 * ? *)

月曜から金曜 (UTC) で10分ごと
cron(0/10 * ? * MON-FRI *)

月曜から金曜、8:00am - 5:55pm の間(UTC)で5分ごと
cron(0/5 8-17 ? * MON-FRI *)


参考


Cron ジョブを Lambda Scheduled Event に置き換えてサーバーレスを目指す

http://blog.manabusakai.com/2015/10/cron-job-to-lambda-scheduled-event/