Amazon EventBridge 日程安排 - Amazon EventBridge

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon EventBridge 日程安排

Amazon Sched EventBridge uler 是一种无服务器计划程序,允许您通过一个中央托管服务创建、运行和管理任务。使用 EventBridge Scheduler,您可以使用 cron 和速率表达式为重复模式创建计划,也可以配置一次性调用。您可以设置灵活的交付时间窗口、定义重试限制,并为失败的 API 调用设置最大保留时间。

在您定义的特定时间或间隔,计划会将任务发送到您指定的 AWS 服务 API。

EventBridge Scheduler 具有高度可定制性,与EventBridge 计划规则相比,它具有更高的可扩展性,具有更广泛的目标 API 操作和 AWS 服务。我们建议您使用 EventBridge 调度器按计划调用目标。

设置执行角色

创建新计划时, EventBridge 调度程序必须有权代表您调用其目标 API 操作。您可以使用执行角色向 EventBridge 调度器授予这些权限。您附加到计划执行角色的权限策略定义了所需权限。这些权限取决于您希望 EventBridge 调度程序调用的目标 API。

当您使用 EventBridge 调度器控制台创建计划时,如以下过程所示, EventBridge 调度器会根据您选择的目标自动设置执行角色。如果要使用 EventBridge 调度程序开发工具包、或创建计划 AWS CloudFormation,则必须有一个现有的执行角色来授予 EventBridge 调度器调用目标所需的权限。 AWS CLI有关为计划手动设置执行角色的更多信息,请参阅《日程EventBridge 安排器用户指南》中的设置执行角色

创建计划

使用控制台创建计划
  1. 打开 Amazon S EventBridge cheduler 控制台,网址为 https://console.aws.amazon.com/scheduler/home

  2. 计划页面,选择创建计划

  3. 指定计划详细信息页面,在计划名称和描述部分中,执行以下操作:

    1. 对于计划名称,输入计划的名称。例如,MyTestSchedule

    2. (可选)对于描述,输入对计划的描述。例如,My first schedule

    3. 对于计划组,从下拉列表中选择一个计划组。如果您没有计划组,选择默认。要创建计划组,选择创建自己的计划

      您可以使用计划组将标签添加到计划组。

    1. 选择计划选项。

      出现 请执行此操作...

      一次性计划

      一次性计划仅在您指定的日期和时间调用一次目标。

      对于日期和时间,请执行以下操作:

      • 输入 YYYY/MM/DD 格式的有效日期。

      • 输入 24 小时 hh:mm 格式的时间戳。

      • 对于时区,选择时区。

      定期计划

      定期计划按照您使用 cron 表达式或 rate 表达式指定的速率调用目标。

      1. 对于计划类型,执行以下操作之一:

        • 要使用 cron 表达式定义计划,请选择基于 cron 的计划并输入 cron 表达式。

        • 要使用 rate 表达式定义计划,请选择基于 rate 的计划并输入 rate 表达式。

          有关 cron 和费率表达式的更多信息,请参阅 A mazon EventBridge 计划程序用户指南中的计划 EventBridge 程序中的计划类型

      2. 对于灵活的时间窗口,选择关闭以关闭该选项,或者选择一个预定义的时间窗口。例如,如果您选择 15 分钟并且将定期计划设置为每小时调用一次其目标,则该计划将在每小时开始后的 15 分钟内运行。

  4. (可选)如果您在上一步中选择定期计划,在时间范围部分,请执行以下操作:

    1. 对于时区,请选择时区。

    2. 对于开始日期和时间,请输入 YYYY/MM/DD 格式的有效日期,然后指定 24 小时 hh:mm 格式的时间戳。

    3. 对于结束日期和时间,请输入 YYYY/MM/DD 格式的有效日期,然后指定 24 小时 hh:mm 格式的时间戳。

  5. 选择下一步

  6. 选择目标页面上,选择 EventBridge 调度器调用 AWS 的 API 操作:

    1. 对于目标 API,请选择模板化目标

    2. 选择亚马逊 EventBridge PutEvents

    3. 在下方 PutEvents,指定以下内容:

      • 对于EventBridge 事件总线,请从下拉菜单中选择事件总线。例如,default

        您还可以在 EventBridge 控制台中通过选择 “创建新事件总线” 来创建新的事件总线

      • 详细信息类型中,输入要匹配的事件的详细信息类型。例如,Object Created

      • 中,输入作为事件源的服务的名称。

        对于 AWS 服务事件,请将服务前缀指定为来源。请勿包含 aws. 前缀。例如,对于 Amazon S3 事件,请输入 s3

        要确定服务的前缀,请参阅《服务授权参考》中的条件键表。有关源事件值和详细信息类型事件值的更多信息,请参阅事件结构参考

      • (可选):在 “详细信息” 中,输入事件模式以进一步筛选 EventBridge 调度器发送到 EventBridge的事件。

        有关更多信息,请参阅 亚马逊 EventBridge 事件模式

  7. 选择 下一步

  8. Settings (设置) 页面上,执行以下操作:

    1. 要打开计划,在计划状态下,切换启用计划

    2. 要为计划配置重试策略,在重试策略和死信队列(DLQ)下,请执行以下操作:

      • 切换重试

      • 对于事件的最大持续时间,请输入 EventBridge 调度器必须保留未处理事件的最大小时数和最小值。

      • 最长时间为 24 小时。

      • 在 “最大重试次数” 中,输入目标返回错误时 EventBridge 调度器重试计划的最大次数。

        最大值为 185 次重试。

      使用重试策略,如果调 EventBridge 度未能调用其目标,则调度程序会重新运行该计划。如果已配置,则必须为计划设置最长保留时间和最大重试次数。

    3. 选择 EventBridge 日程安排器存储未传送事件的位置。

      死信队列(DLQ)选项 请执行此操作...
      请勿存储 选择 None
      将活动存储 AWS 账户 在您创建日程安排的同一位置
      1. 在 “我的 AWS 账户 作为 DLQ” 中选择 “选择 Amazon SQS 队列”。

      2. 选择 Amazon SQS 队列的 Amazon 资源名称(ARN)。

      将活动存储在与您创建日程表不同的 AWS 账户 位置
      1. 选择在其他队列中指定一个 Amazon SQS 队列 AWS 账户 作为 DLQ。

      2. 输入 Amazon SQS 队列的 Amazon 资源名称(ARN)。

    4. 要使用客户托管密钥加密目标输入,在加密下,选择自定义加密设置(高级)

      如果选择此选项,请输入现有的 KMS 密钥 ARN 或选择创建一个  AWS KMS key 以导航到  AWS KMS  控制台。有关 EventBridge 计划程序如何加密静态数据的更多信息,请参阅 A mazon EventBridge 计划程序用户指南中的静态加密

    5. 要让 EventBridge Scheduler 为您创建新的执行角色,请选择为此计划创建新角色。然后,在角色名称中输入名称。如果您选择此选项,S EventBridge cheduler 会将模板化目标所需的权限附加到该角色。

  9. 选择下一步

  10. 查看并创建计划页面上,查看计划的详细信息。在每个部分中,选择编辑返回到该步骤并编辑其详细信息。

  11. 选择创建计划

    您可以在计划页面上查看新的和现有的计划列表。在状态列下,验证新计划是否已启用

有关 EventBridge 调度程序的更多信息,请参阅以下内容: