AWS EventBridge cron表达式报错:ScheduleExpression无效求助
问题解决:AWS EventBridge Cron表达式无效的原因与修正
错误原因
你的表达式cron(30 14/1 * * * ? *)存在两个核心问题:
- 字段结构混乱:AWS EventBridge的7字段cron格式为
分 时 日 月 星期 年,你在星期和年之间多写了一个?,导致字段数量和顺序不符合规范。 - 日与星期字段冲突:AWS明确规定,
日(day-of-month)和星期(day-of-week)不能同时设置为*(或具体值),必须将其中一个设为?来表示“不指定该维度”。你的表达式中两者均为*,违反了这个规则。
修正后的表达式
根据你的需求(从14:30开始每小时执行一次),分两种场景:
- 场景1:仅每天14:30-23:30每小时执行一次
正确表达式(不含年份):
如需指定年份,可追加年字段:cron(30 14/1 * * ?)cron(30 14/1 * * ? *) - 场景2:每天所有小时的30分执行一次(含0:30-13:30)
直接将小时字段设为通配符即可:cron(30 * * * ?)
关键规则补充
- AWS EventBridge cron字段顺序固定为:
分钟(0-59) 小时(0-23) 日(1-31) 月(1-12/JAN-DEC) 星期(1-7/SUN-SAT) 年(可选,1970-2199) - 步长(
/)仅在当前字段的范围内生效,比如14/1仅匹配14-23点,不会循环到次日0点 - 日和星期必须有一个为
?,不能同时使用*或具体值
内容的提问来源于stack exchange,提问作者BMD
相关产品推荐
相关产品推荐

