You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform AWS CloudWatch cron表达式报ScheduleExpression无效

问题根因

你编写的cron表达式不符合AWS CloudWatch Events(现更名EventBridge)的自定义cron语法约束,部署时直接触发校验异常:

ValidationException: Parameter ScheduleExpression is not valid.

具体不匹配规则的点如下:

  • AWS Cron表达式固定为6个字段,字段顺序为分钟 小时 月内日期 月份 星期 年份,和标准Linux 5字段cron结构不通用,不能直接套用Linux cron的写法
  • 语法强制要求:月内日期、星期两个字段不能同时设置为*,二者必须有一个填写?,代表不对该维度做限制,避免两个时间维度的规则产生逻辑冲突。

你当前配置的cron(*/5 * * * * *)中,月内日期位、星期位都填了*,违反上述约束,因此触发报错。

另外你不选用rate(5 minutes)的判断是正确的:rate表达式从规则部署生效的时间点开始按固定间隔滚动触发,比如12:07部署完成的话,后续触发点是12:12、12:17、12:22这类时间点,无法对齐到分钟为5的倍数的固定时刻。

修正方法

将月内日期、星期两个字段中的任意一个替换为?即可,修正后的配置如下:

resource "aws_cloudwatch_event_rule" "foo" {
  // 其余原有配置保持不变
  schedule_expression = "cron(*/5 * * * ? *)"
}

该表达式的触发逻辑完全匹配你的需求:所有小时、所有日期、所有月份、所有星期、所有年份下,只要分钟值为5的倍数(00、05、10……55分)就会触发执行。


内容的提问来源于stack exchange,提问作者ablaszkiewicz1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 23:51:25