Cron / 调度规则

EventBridge cron 表达式先分清服务,再确定执行时间

粘贴已有表达式,或通过字段生成草稿;预览并应用后再复制配置。

EventBridge cron 表达式

表达式

输入仅在当前浏览器中处理,不会发送到服务器。

调度配置片段

这里只包含调度属性;名称、目标和权限需在 AWS 补齐。Scheduler 还需要目标执行角色,片段本身不会创建资源。

选项

字段构建器

这里的字段仅是草稿;点击应用才替换上方表达式,粘贴的原文始终是校验依据。

cron(0 9 ? * MON-FRI *)

顺序:分钟、小时、日期、月份、星期、年份。周日为 1;日期与星期必须恰好一个为 ?。L、15W、FRIL、MON#1 只能单独作为对应日期字段。

仅处理一条表达式,最多 256 字符;年份 1970–2199。不支持秒、at()、LW 或 L 偏移。仅小时允许倒序范围,不检查日期是否实际存在。

输入或选项已更改,请更新结果后再导出。

写 AWS 定时任务时,最容易出错的往往不是小时,而是把 Linux 的五字段直接搬到云上。EventBridge cron 表达式把年份放在最后,星期从周日的 1 开始,日期和星期还需要用问号互斥。先把这些含义对齐,再考虑目标服务。

定在每个工作日上午九点,用日历条件;每隔五分钟处理一次队列,用 rate 表达式。EventBridge 调度器允许单独指定时区,传统规则始终按 UTC 执行,同样的钟点并不一定代表同一个执行时刻。

为什么用 EventBridge cron 表达式工作台

时区跟着服务走

EventBridge cron 表达式在两种服务中使用相同的字段顺序,但时区并不写在表达式里。选择 Scheduler 时,输出包含独立时区属性;切换到传统规则后只保留表达式,避免把本地九点误当成 UTC 九点。

同一个时钟分为两路,分别连接固定 UTC 时钟和带地球标记的本地时钟。

日历时间与固定间隔各有入口

每周一到周五的早报需要日历条件,持续每隔五分钟的任务需要固定间隔。构建器分别提供六字段和数值加单位,不会把 cron 的一串日历字段拼进 rate()。

上方日历选中了工作日格子,下方时间线上是等距排列的间隔标记。

避免时区与表达式对不上

01

先选服务,再填写时区

默认上下文是 Scheduler。切到传统规则后,生效时区锁为 UTC;切回时保留之前填写的 Scheduler 时区。修改服务或生效参数会立刻禁用旧结果的复制与下载。

  • 浏览器所在时区不会自动替换默认 UTC。
02

构建器只是草稿,不会覆盖原文

常用预设先填入下方六字段。预览展示替换前后的表达式与字符数,应用才写回输入;撤销会同时恢复原文、服务选项和之前的输出。

  • 改完草稿后,仍需预览并应用才能影响当前结果。
03

根据状态决定何时导出

自动模式会等待输入停止 350 毫秒再校验;关闭后可以用主按钮或 Ctrl/Cmd + Enter 手动执行。复制表达式适合单字段粘贴,下载则保留当前服务的 JSON 调度属性。

  • 通过语法检查不等于目标一定会成功运行。

把影响执行的条件拆开核对

按 AWS 六字段定位问题

分别检查分钟、小时、日期、月份、星期和年份。星期数值使用 1–7,月份与星期保留 JAN–DEC、SUN–SAT 名称;列表、范围与步长按字段允许的语法处理,错误给出字段名及起始列。

月末、工作日与第几个星期几

支持日期字段的 L、数字加 W,以及星期字段的 L、星期加 L、单个星期加 # 次数。日期与星期必须恰好一个为问号;多个 # 或未支持的 Quartz 组合不会被当成有效结果直接透传。

输出与服务对应的属性

Scheduler cron 输出独立时区和显式 OFF 的灵活时间窗,传统规则只输出 ScheduleExpression。Scheduler rate 不携带时区属性,因为固定间隔不表示某个地区每天的同一钟点。

粘贴与生成共用同一套检查

裸六字段会在结果中补上 cron 包装,大小写和空白统一整理,但不会悄悄改写原始输入。Rate 构建器根据数值生成单复数单位,已有表达式也要经过相同的规则检查。

语法范围与部署边界

只接受已明确实现的语法
日期允许 L 或 nW,星期允许 L、weekdayL、weekday#1–5。不支持 LW、L 偏移、C、H、特殊选择器混合列表或星期步长。仅小时支持跨午夜倒序范围,其他字段请拆成列表或正序范围。
语法通过不保证日期可达
二月三十一日、某个月不存在的第五个星期几,以及已经过去的年份,仍可能通过字段语法检查。本页不枚举下次执行时间、不计算实际触发次数,也不承诺精确到某一秒。
固定间隔采用规范单位
数值必须是 JavaScript 能安全表示的正整数。本工具统一要求 rate(1 minute) 和 rate(5 minutes) 这样的单复数形式;这是本工具的规范检查,不代表已验证 Scheduler API 对所有非规范写法的接受情况。
配置片段还需要目标与权限
不连接 AWS,也不检查 IAM。目标 ARN、名称、执行角色及目标权限需另行配置。起止日期、重试、死信队列、灵活时间窗编辑不在表单内;输出的 OFF 是本工具明确选择的值。
仅处理 AWS 周期表达式
完整表达式最多 256 字符,年份范围 1970–2199。五字段 Unix、七字段 Quartz、一次性 at()、文件导入与其他云方言均不处理;IANA 时区能否识别取决于当前浏览器的时区数据。

EventBridge cron 表达式常见问题

为什么 cron 表达式被判为无效?

先确认是从分钟到年份的六字段,再看日期和星期是否恰好一个为 ?。周日使用 1,而不是 Unix 的 0。EventBridge cron 表达式工作台会给出支持范围内的字段错误与列位置,并区分数值越界和暂未支持的语法组合。

如何使用 UTC 以外的时区?

选择 Scheduler 后填写 Asia/Shanghai 等 IANA 名称,保留表达式里的本地钟点,由独立时区属性解释时间。传统规则依然只用 UTC;换一个显示时区不会改变规则在云端的执行语义。

夏令时会怎样影响执行?

Scheduler cron 遇到春季跳过的钟点会跳过当次执行,秋季重复的钟点只执行一次。Rate 的一天则始终按 24 小时计算;需要当地每天同一时间时,应使用 cron 日历条件。

传统调度规则与 Scheduler 有什么区别?

传统规则是 EventBridge 的旧调度机制,时区固定为 UTC;Scheduler 可指定时区,并有独立的调用配置。本页只呈现调度属性差异,不替你迁移目标、配置角色或验证资源权限。

如何把表达式用于 Terraform?

日历字段使用 cron(...),数值加间隔单位使用 rate(...)。把表达式填写到对应资源的 schedule_expression;Scheduler cron 还要另填 schedule_expression_timezone。下载的 JSON 是属性参考,不是 HCL 或完整资源定义。

执行时间不符合预期?

核对后再使用调度配置

使用 EventBridge cron 表达式工作台核对字段条件,复制当前服务需要的调度属性,再到 AWS 验证目标权限与实际执行行为。

本页不会创建或启动任何调度任务。