CloudWatch定时事件Cron表达式无效:每日1点触发配置报错求助
问题分析与解决方案
你的Cron表达式报错的核心原因是CloudWatch不允许在年(Year)字段使用通配符*。
CloudWatch Cron表达式的关键规则
CloudWatch定时事件的Cron表达式支持两种格式:
- 5字段格式(不含年):
分钟 小时 日 月 周 - 6字段格式(含年):
分钟 小时 日 月 周 年
其中需要特别注意两个限制:
- 日(Day-of-Month)和周(Day-of-Week)必须有一个设为
?(表示不指定),不能同时为具体值或通配符*(你的表达式里这部分是合规的,日为*、周为?符合要求) - 年字段如果指定,只能使用具体年份(如
2024)、年份范围(如2024-2030),或者用?表示不指定年份;绝对不能用*作为年字段的通配符。
修正后的可用表达式
如果你不需要限定年份,有两种正确写法:
- 使用5字段格式(推荐写法,省略年字段):
cron(0 1 * * ?) - 使用6字段格式,将年字段的
*替换为?:cron(0 1 * * ? ?)
这两个表达式都能实现每日UTC时间1点触发事件的需求。
额外提醒
CloudWatch定时事件默认使用UTC时区,如果你的需求是本地时间1点,记得要转换成UTC时间后调整小时数值哦。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

