按计划调用 Lambda 函数
Amazon EventBridge 调度器是一个无服务器调度器,您可以使用它从一个中央托管服务创建、运行和管理任务。借助 EventBridge 调度器,您可以使用 cron 和 rate 表达式为定期模式创建计划,也可以配置一次性调用。您可以设置灵活的交付时间窗口、定义重试限制,并为未处理的事件设置最长保留时间。
当您使用 Lambda 设置 EventBridge 调度器时,EventBridge 调度器会异步调用您的 Lambda 函数。您可以从 Lambda 控制台(使用“添加触发器”流程)、EventBridge 调度器控制台、Amazon CLI 或 Amazon CloudFormation 创建计划。本页介绍如何使用 EventBridge 调度器按计划调用 Lambda 函数。
设置执行角色
创建新计划时,EventBridge 调度器必须有权代表您调用其目标 API 操作。您可以使用执行角色授予 EventBridge 调度器这些权限。您附加到计划执行角色的权限策略定义了所需权限。这些权限取决于您希望 EventBridge 调度器调用的目标 API。
使用 Lambda 控制台或 EventBridge 调度器控制台创建计划时,EventBridge 调度器会根据您选择的目标自动设置执行角色。如果您想使用 EventBridge 调度器 SDK(Amazon CLI 或 Amazon CloudFormation )之一创建计划,您必须拥有现有的执行角色,以授予 EventBridge 调度器调用目标所需的权限。有关为计划手动设置执行角色的更多信息,请参阅 EventBridge Scheduler User Guide 中的 Setting up an execution role。
从 Lambda 控制台创建计划
使用 Lambda 控制台中的添加触发器流程创建 EventBridge 调度器计划,而无需离开控制台。
使用 Lambda 控制台创建调度器触发器
-
打开 Lamba 控制台的函数
页面。 -
选择要计划的函数。
-
在函数概述窗格中,选择添加触发器。
-
从触发器来源下拉列表中,选择调度器。
-
配置计划设置:
-
计划名称:输入计划的名称。
-
计划组:选择一个计划组或使用
default。 -
计划类型:选择以下选项之一:
-
一次性计划:在指定的日期和时间调用函数一次。
-
重复计划:使用 cron 或 rate 表达式重复调用函数。
-
-
(可选)输入 JSON 有效负载。如果您未输入有效负载,EventBridge 调度器将使用空事件来调用函数。
-
配置执行角色。要让 EventBridge 调度器为您创建新的执行角色,请选择为此计划创建新角色。然后,在角色名称中输入名称。如果选择此选项,EventBridge 调度器会创建一个具有所需权限的策略,并将其附加到该角色。
-
-
选择添加。
提示
您也可以搜索 schedule、cron、time 或 recurring,以在“添加触发器”流程中查找此触发器。
您也可以使用 EventBridge 调度器控制台
查看 EventBridge 调度器触发器
所有针对您的函数的 EventBridge 调度器计划都显示在函数配置页面的触发器部分的调度器标签下。这包括从下面任何来源创建的计划:
-
Lambda 控制台(“添加触发器”流程)
-
EventBridge 调度器控制台
-
Amazon CLI、SDK、Amazon CloudFormation、Amazon SAM(使用
ScheduleV2事件类型)或 Amazon CDK(使用aws-scheduler模块)
注意
如果计划使用客户自主管理型密钥对通用目标调用(UTI)目标进行加密,则该计划可能不会出现在触发器列表中。要查看这些计划,请使用 EventBridge 调度器控制台
要确认 EventBridge 调度器是否调用了该函数,查看该函数的 Amazon CloudWatch Logs。
相关资源
有关 EventBridge 调度器的详细信息,请参阅以下内容: