时段参考
时段包含相关条件,您可通过这些条件设置实例的具体运行时长(以小时、天和月为单位)。一个时段可包含多个条件,但仅在满足所有条件时,AWS 实例计划程序才会应用相应的启动或停止操作。
启动时间和停止时间
begintime 和 endtime 字段用于定义 AWS 实例计划程序启动和停止实例的时间。如果您仅指定启动时间,则必须手动停止实例。请注意,如果您在 weekdays 字段中指定一个值,解决方案将使用该值来确定实例的停止时间。例如,如果您将 begintime 设为上午 9 点且未设置 endtime,同时将 weekdays 值设为星期一至星期五,除非您已计划相邻时段,否则实例将在星期五晚上 11:59 停止。
同样地,如果您仅指定停止时间,则必须手动启动实例。如果您未指定任一时间,此解决方案会根据星期几、月中日期或月份规则,在每天的开始或结束时相应地启动或停止实例。
时段的 begintime 和 endtime 值必须在计划中指定的时区内。如果未在计划中指定时区,此解决方案将使用您启动它时指定的时区。
如果您的计划包含多个时段,建议您始终在时段中同时指定 begintime 和 endtime。
如果您在指定的启动时间之前启动实例,该实例将一直运行,直到运行时段结束。例如,用户可以定义一个时段,让实例每天上午 9 点启动,并在下午 5 点停止。
计划的启动时间为上午 9 点,停止时间为下午 5 点
如果您在凌晨 5 点手动启动实例,解决方案将在下午 5 点停止实例。如果您使用保持运行字段,解决方案将不会在下午 5 点停止实例。
计划的停止时间为凌晨 5 点
如果您在指定的停止时间之前停止实例,实例将不会运行,直到下一个运行时段开始。延续前面的示例,如果用户在星期三下午 1 点停止实例,解决方案要到星期四上午 9 点才会启动实例。
时间线显示计划的启动时间为上午 9 点,手动停止时间为下午 1 点,计划的停止时间为下午 5 点。
相邻时段
如果计划包含两个相邻的运行时段,解决方案将不会停止正在运行的实例。例如,如果计划中的一个时段的 endtime 为晚上 11:59,另一个时段的 begintime 为第二天的午夜,则解决方案将不会停止正在运行的实例(如果没有用来停止实例的 weekdays、monthdays 或 months 规则)。
要实施从星期一上午 9 点至星期五下午 5 点运行实例的计划,解决方案需要配置三个时段。第一个时段:适用的实例从星期一上午 9 点运行至晚上 11:59。第二个时段:实例从星期二午夜运行至星期四晚上 11:59。第三个时段:实例从星期五午夜运行至下午 5 点。有关更多信息,请参阅示例计划。
星期几
weekdays 字段用于定义实例每周运行的具体日期。您可以指定日期列表、日期范围、某个日期在一个月内的第 N 次出现,或某个日期在一个月内的最后一次出现。该解决方案支持缩写的日期名称(Mon)和数字(0)。
月中日期
monthdays 字段用于定义实例每月运行的具体日期。您可以指定日期列表、日期范围、每月的第 N 天、每月的最后一天,或某个特定日期的最近工作日。
月份
months 字段用于定义实例运行的具体月份。您可以指定月份列表、月份范围,或每 N 个月。该解决方案支持缩写的月份名称(Jan)和数字(1)。
时段定义
Amazon DynamoDB 中的 AWS 实例计划程序配置表包含时段定义。一个时段定义可包含以下字段。请注意,某些字段支持 Cron 非标准字符
重要
您必须指定以下至少一个项:begintime、endtime、weekdays、months 或 monthdays。
| 字段 | 描述 |
|---|---|
|
|
实例的启动时间(采用 HH:MM 格式)。 |
|
|
时段的可选描述。 |
|
|
实例的停止时间(采用 HH:MM 格式)。 |
|
|
输入实例将运行的月份的逗号分隔列表,或用连字符连接的月份范围。例如,输入 您也可以将实例设置为每 N 个月运行一次,或在某个月份范围内每 N 个月运行一次。例如,输入 |
|
|
输入实例将运行的每月日期的逗号分隔列表,或用连字符连接的日期范围。例如,输入 您还可以将实例设置为每月的第 N 天运行,或在某个日期范围内每月的第 N 天运行。例如,输入 输入 |
|
|
用于标识时段的名称。此名称必须是唯一的,并且仅包含字母数字、连字符(-)和下划线(_)。 |
|
|
输入实例将运行的星期几的逗号分隔列表,或星期几范围。例如,输入 您还可以将实例设置为在每月的第 N 个指定星期几运行。例如,输入 输入某个星期几和 L 可在每月该星期几的最后一次出现时运行实例。例如,输入 |
当一个时段包含多个条件时,请注意,只有满足所有条件后,AWS 实例计划程序才会应用相应的操作。例如,weekdays 字段值为 Mon#1 且 months 字段值为 Jan/3 的时段将在每个季度的第一个星期一应用操作。
自动标记
AWS 实例计划程序可自动为其启动或停止的所有实例添加标签。您可以在已启动标签和已停止标签参数中,指定标签名称或 tagname=tagvalue 对的列表。该解决方案还包含宏,可让您在标签中添加变量信息:
-
{scheduler}:计划程序堆栈的名称 -
{year}:年份(4 位数字) -
{month}:月份(2 位数字) -
{day}:日期(2 位数字) -
{hour}:小时(2 位数字,24 小时制) -
{minute}:分钟(2 位数字) -
{timeszone}:时区
下表提供了不同输入与生成的标签的示例。
| 输入参数示例 | 实例计划程序标签 |
|---|---|
|
|
|
|
|
`ScheduleMessage=Started on 2017/07/06 ` |
|
|
|
|
|
|
如果使用的是已启动标签参数,当计划程序停止实例时,标签会被自动删除。如果使用的是已停止标签参数,当启动实例时,标签会被自动删除。