公開日:2020.01.21

Cloudwatch eventsでcronを使って 日か、曜日を指定するとき

テクログaws

ひなっちです。

Cloudwatch eventsでcronなんですが、

地味に忘れて、ハマるんです。

なぜか?

普段、Linuxのcronタブに書いてる書き方とすこしちがうからです。

Parameter ScheduleExpression is not valid.

↑これ

cron的には書き方正しいはずなのになーと

今回、自分が少しはまったのが

毎週金曜日、10時(JST)

で処理を動かす場合でした。

これを、そのまま素直にcronで書くと

0 1 * * FRI *

こうです。

が、正解は

0 1 ? * FRI *

こうです。

これ、ちゃんとマニュアルにも書いてあるんです。

cron 式の日フィールドと曜日フィールドを同時に指定することはできません。一方のフィールドに値 (または *) を指定する場合、もう一方のフィールドで ? (疑問符) を使用する必要があります。

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions

ほんと地味ーーーにはまるし、普段cronタブに慣れ親しんでいると

マニュアル読むほどのものじゃない気もして、辿りつくまでに時間がかかりました。。。。

では!

この記事を書いた人

ひなっち

入社年2018年

出身地青森

業務内容インフラ

特技または趣味筋トレ

ひなっちの記事一覧へ

テクログに関する記事一覧