本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Image Builder 中使用 cron 表达式
使用 EC2 Image Builder 的 cron 表达式来设置时间窗口,使用适用于管道基础图像和组件的更新来刷新图像。管道刷新的时间窗口从您在 cron 表达式中设置的时间开始。您可以在 cron 表达式中将时间设置为分钟。您的管道构建可以在开始时间或之后运行。
有时可能需要几秒钟或长达一分钟的时间构建才能开始运行。
注意
默认情况下,Cron 表达式使用通用协调时间 (UTC) 时区,或者您也可以自己指定时区。有关 UTC 时间的更多信息以及要查找您所在时区的偏移量,请参阅时区缩写-全球列表。
镜像生成器中 Cron 表达式支持的值
EC2 Image Builder 使用由六个必填字段组成的 cron 格式。每个字段都用一个空格与其他字段隔开,没有前导或尾随空格:
<Minute> <Hour>
<Day> <Month>
<Day of the week> <Year>
下表列出了必需的 cron 条目支持的值。
| 字段 | 值 | 通配符 |
|---|---|---|
| 分钟 | 0-59 |
, - * / |
| 小时 | 0-23 |
, - * / |
| 天 | 1-31 |
, - * ? / L W |
| Month | 1-12 或 jan-dec |
, - * / |
| 一星期中的日子。 | 1-7 或 sun-sat |
, - * ? L # |
| Year | 1970-2199 |
, - * / |
通配符
下表描述 Image Builder 如何在 cron 表达式中使用通配符。请记住,在您指定的构建时间之后,最多可能需要一分钟才能开始构建。
| 通配符 | 描述 |
|---|---|
| , | ,(逗号)通配符包含其他值。在字段中,jan,feb,mar 将包含 January、February 和 March。 |
| - | -(破折号)通配符用于指定范围。在“日”字段中,1-151-15 将包含指定月份的 1 - 15 日。 |
| * | *(星号)通配符包含该字段的所有有效值。 |
| ? | ?(问号)通配符用于指定字段值取决于其他设置。对于日期和 Day-of-week字段,当指定一个或包含所有可能的值 (*) 时,另一个必须是 a ?。不能同时指定两者。例如,如果您在 “日” 字段7中输入 a(在当月的第七天运行构建),则该 Day-of-week位置必须包含?。 |
| / | /(正斜杠)通配符用于指定增量。例如,如果您希望每隔一天运行构建,请在“日”字段中输入 */2。 |
| L | 任一“日”字段中的 L 通配符指定最后一天:“28-31” 表示月份的最后一天,具体取决于月份,或者“星期日”表示一周中的最后一天。 |
| W | Day-of-month 字段中的 W 通配符用于指定工作日。在该 Day-of-month字段中,如果您在之前输入一个数字W,则表示您要将最接近该天的工作日作为目标。例如,如果您指定 3W,则希望您的构建在最接近该月第三天的工作日运行。 |
| # | # (hash) 仅允许用于“星期几”字段,并且后面必须有一个介于 1 到 5 之间的数字。该数字指定了给定月份中哪几周需要运行构建。例如,如果您希望在每个月的第二个星期五运行构建,请使用 fri#2 用于“星期几”字段。 |
限制
-
您无法在同一 cron 表达式中为 Day-of-month 和 Day-of-week 字段同时指定值。如果您在其中一个字段中指定了值
*(或一个 *),则必须在另一个字段中使用 ??。 -
不支持产生的速率快于一分钟的 Cron 表达式。
Image Builder 中的 cron 表达式示例
在 Image Builder 控制台中输入的 Cron 表达式与 API 或 CLI 中输入的 Cron 表达式不同。要查看示例,请选择适用于您的选项卡。
Image Builder 中的 rate 表达式
Rate 表达式在创建计划事件规则时启动,然后按照其定义的计划运行。
Rate 表达式有两个必需字段。这些字段用空格分隔。
语法
rate(valueunit)
- 值
-
一个正数。
- unit
-
时间单位。需要不同的单位,例如,对于值 1 为
minute;对于大于 1 的值 1 为minutes。有效值:minute | minutes | hour | hours | day | days
限制
如果值等于 1,则单位必须为单数。同样,对于大于 1 的值,单位必须为复数。例如,rate(1 hours) 和 rate(5 hour) 无效,但 rate(1 hour) 和 rate(5 hours) 有效。