使用Terraform创建EventBridge调度表达式遇验证错误求助
问题原因与解决方案
你混淆了EventBridge调度器的两种表达式类型:rate 和 cron。
rate表达式仅用于固定间隔触发(比如每1小时、每天一次),格式为rate(value unit),像示例里的rate(1 hours)就是这种场景。- 你需要的特定时间点触发(工作日早8:30、晚5:30)必须使用
cron表达式,而非rate。
正确的表达式要把前缀改成cron,同时符合AWS的cron规则:
schedule_expression = "cron(30 8,17 ? * MON-FRI *)"
也可以用数字表示星期(2代表周一,6代表周五):
schedule_expression = "cron(30 8,17 ? * 2-6 *)"
关键规则说明:
- AWS cron格式顺序为:
分钟 小时 日 月 星期 年(年为可选字段) ?用于在「日」和「星期」字段中二选一留空,避免时间逻辑冲突(这里指定了星期范围,所以「日」位置用?)- 多个时间点用逗号分隔,范围用横杠连接
修改后,调度器就能按预期在工作日的8:30和17:30触发了。
内容的提问来源于stack exchange,提问作者Abby
相关产品推荐
相关产品推荐

