使用亚马逊 EventBridge 日程安排程序在完成后自动删除日程安排

Amazon EventBridge 计划程序现在支持配置计划完成后自动删除计划。现在,您可以配置一次性计划和定期计划,其结束日期将在完成后自动删除,以避免管理单个计划。

Amazon EventBridge 计划程序允许您大规模创建、运行和管理计划。 使用 EventBridge Scheduler,您可以安排数百万个任务来调用 270 多项 亚马逊云科技 服务和超过 6,000 个 API 操作,例如 亚马逊云科技 Lamb d a、亚马逊云科技 Step Fun ctions 和 Amazon SN S。

默认情况下,EventBridge 调度器允许客户为 每个账户设置 100 万个日程安排 ,可以根据需要增加。但是,已完成的时间表将计入账户配额限制。此外,列出计划时可以看到已完成的时间表,并要求客户将其删除。一些客户创建了 自己的模式 来自动删除已完成的日程安排,自 去年11月发布 EventBridge Scheduler 以来 ,这是客户最需要的功能之一。

完成后删除

当您为计划配置自动删除时,EventBridge Scheduler 会在上次调用目标后不久将其删除。可以在创建计划时设置自动删除,也可以在上次调用计划之前的任何时候更新计划设置。

您可以在一次性和定期计划中配置此设置。

  • 一次性计划 :在调度调用一次目标后,您的计划将被删除。
  • 循环计划: 使用速率或 cron 表达式进行 设置,您的计划将在上次调用后删除。

如果由于配置为自动删除的计划失败而用尽所有 重试 ,则该计划将在最后一次尝试失败后不久被删除。

Console action after schedule completition

有了这项新功能,您可以在管理日程安排时节省时间、资源和运营成本。

将计划设置为在完成后删除

您可以在所有可用 EventBridge 计划程序的 亚马逊云科技 区域中 通过 亚马逊云科技 管理控制台 、 亚马逊云科技 SDK 或 亚马逊云科技 CLI 创建计划,这些计划 在完成后会自动删除。

例如,假设你是一个平台上的开发人员,该平台允许最终用户在任务到期时收到通知。您已经在使用 EventBridge 调度器来实现此功能。对于用户在应用程序中创建的每项任务,您的代码都会在 EventBridge Scheduler 中创建一个新的时间表。现在,您可以将所有这些计划配置为在完成后自动删除。在计划运行后不久,它们就会从您的 EventBridge Scheduler 中删除,这样您就可以扩展系统并继续创建日程安排,从而更轻松地管理有效的日程安排和配额限制。

让我们看看如何使用 EventBridge 调度器的新功能来实现这个示例。当用户创建带有提醒的新任务时,您的应用程序会触发一个函数。该函数在 EventBridge 调度器中创建一次性日程安排。

Create a schedule diagram

此示例说明如何使用 亚马逊云科技 CLI 创建新的一次性计划,该计划在完成后自动删除,并以 SNS 作为目标。确保将 亚马逊云科技 CLI 更新到最新版本。然后,你可以使用参数 “完成后操作” 'DELETE'创建新的计划。

$ aws scheduler create-schedule --name SendEmailOnce \
--schedule-expression ”at(2023-08-02T17:35:00)",\
--schedule-expression-timezone "Europe/Helsinki" \
--flexible-time-window "{\"Mode\": \"OFF\"}" \
--target "{\"Arn\": \"arn:aws:sns:us-east-1:xxx:test-send-email\", \"RoleArn\": \" arn:aws:iam::xxxx:role/sam_scheduler_role\" }" \
--action-after-completion 'DELETE'

此命令创建 名 为 SendeMailOnce 的一次性计划,该计划在时间表表达式中定义的特定日期运行 ,并在 计划表达式 时区中定义的特定时区运行。 此时间表未使用 弹性时间窗口 功能 。接下来,您必须 为该计划定义 目标 。这个人向 SNS 主题发送了一条消息。

您可以使用 get- schedule 命令验证您的计划是否已从 亚马逊云科技 CLI 中正确创建。

$ aws scheduler get-schedule --name SendEmailOnce
{
    "ActionAfterCompletion": "DELETE",
    "Arn": "arn:aws:scheduler:us-east-1:905614108351:schedule/default/SendEmailOnce",
    "CreationDate": 1690874334.83,
    "FlexibleTimeWindow": {
        "Mode": "OFF"
    },
    "GroupName": "default",
    "LastModificationDate": 1690874334.83,
    "Name": "SendEmailOnce3",
    "ScheduleExpression": "at(2023-08-02T17:35:00)",
    "ScheduleExpressionTimezone": "Europe/Helsinki",
    "State": "ENABLED",
    "Target": {
        "Arn": "arn:aws:sns:us-east-1:xxxx:test-send-email",
        "RetryPolicy": {
            "MaximumEventAgeInSeconds": 86400,
            "MaximumRetryAttempts": 185
        },
        "RoleArn": "arn:aws:iam::XXXX:role/scheduler_role"
    }
}

此外,您可以从 亚马逊云科技 管理控制台查看时间表的详细信息。

Schedule details

现在,当通知日期到来时,EventBridge Scheduler 会调用计划中配置的目标(在本例中为 SNS),并通过电子邮件向客户发送通知。

Schedule starts

此计划完成后不久,如果您 列出这些计划 ,则会看到该计划已被删除并且不再列出。

$ aws scheduler list-schedules
{
"Schedules": [
]
}

自动化的好处

传统上,EventBridge 调度器解决的许多问题都是使用批处理和基于拉取的模型来解决的。

一些组织正在使用EventBridge Scheduler将其基于拉取的模型替换为更具动态性的基于推送的模型。在实施 Scheduler 之前,他们依靠客户在需要时询问数据。现在,借助EventBridge Scheduler,他们正在创建时间表,以便在旅程的关键时刻向客户报告。

例如,航空公司可以使用 EventBridge Scheduler 在航班起飞前 24 小时、4 小时和 2 小时创建一次性时刻表,让乘客了解最新的航班状态。乘客会收到一条通知,其中包含在线办理登机手续的链接、值机柜台号码、行李领取信息以及发生的任何航班变更。通过这种方式,乘客可以随时了解自己的航班状态,他们可以立即采取行动。这种动态模型不仅有助于改善客户体验,还可以提高航空公司的运营效率。

其他组织使用EventBridge Scheduler来替换批处理操作,因为您可以配置在需要时启动批处理的时间表。此外,您可以利用 EventBridge 调度程序时区,在对最终客户来说合理的时间运行流程。

例如,假设一家国际金融机构必须在当天结束时向客户发送账户报表。您可以使用 EventBridge Scheduler 为每位客户设置定期计划,在客户时区的一天结束时发送报告。通过这种方式,您可以改善客户体验,因为现在系统可以根据他们的设置进行个性化设置,还可以减少运营开销,因为处理操作是全天分布的。

此外,EventBridge 调度器为客户解决了许多新的用例。例如,如果您是一家处理付款的金融机构,则可以为每笔需要确认的大额交易创建一次性时间表。如果计划运行时交易未得到确认,则可以取消交易。这降低了处理交易的风险,改善了客户体验,还可以通过使交易实时化来提高流程的自动化程度。

另一个用例是处理信用卡的到期日期。您可以创建一次性计划,在到期日期前一个月向客户发送电子邮件以更新其信用卡信息。与使用服务器和批处理的传统实现相比,该解决方案消除了运营开销。

结论

在前面列出的用例中,自动化和任务调度可以改善最终用户体验,消除无差别的繁重工作,并受益于使用在计划完成后删除计划的新功能。

这篇博客文章介绍了 Amazon EventBridge 计划程序的新功能,该功能可自动删除已完成的日程安排。此功能简化了 EventBridge 调度程序的使用,减少了大规模管理日程安排的运营开销,并允许您进一步扩展。在此功能 的 文档页面 中,您可以找到更多信息。

要开始使用 EventBridge 调度程序,请访问 无服务器着陆模式 , 在那里你可以使用此服务找到 20 多种模式。


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。