View a markdown version of this page

按计划调用 Lambda 函数 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

按计划调用 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 控制台创建调度器触发器
  1. 打开 Lamba 控制台的函数页面。

  2. 选择要计划的函数。

  3. 函数概述窗格中,选择添加触发器

  4. 从触发器来源下拉列表中,选择调度器

  5. 配置计划设置:

    1. 计划名称:输入计划的名称。

    2. 计划组:选择一个计划组或使用 default

    3. 计划类型:选择以下选项之一:

      • 一次性计划:在指定的日期和时间调用函数一次。

      • 重复计划:使用 cron 或 rate 表达式重复调用函数。

    4. (可选)输入 JSON 有效负载。如果您未输入有效负载,EventBridge 调度器将使用空事件来调用函数。

    5. 配置执行角色。要让 EventBridge 调度器为您创建新的执行角色,请选择为此计划创建新角色。然后,在角色名称中输入名称。如果选择此选项,EventBridge 调度器会创建一个具有所需权限的策略,并将其附加到该角色。

  6. 选择添加

提示

您也可以搜索 schedulecrontimerecurring,以在“添加触发器”流程中查找此触发器。

您也可以使用 EventBridge 调度器控制台来创建计划。使用 EventBridge 调度器控制台,您可以配置其他选项(例如,弹性时间范围和死信队列)。

查看 EventBridge 调度器触发器

所有针对您的函数的 EventBridge 调度器计划都显示在函数配置页面的触发器部分的调度器标签下。这包括从下面任何来源创建的计划:

  • Lambda 控制台(“添加触发器”流程)

  • EventBridge 调度器控制台

  • Amazon CLI、SDK、Amazon CloudFormation、Amazon SAM(使用 ScheduleV2 事件类型)或 Amazon CDK(使用 aws-scheduler 模块)

注意

如果计划使用客户自主管理型密钥对通用目标调用(UTI)目标进行加密,则该计划可能不会出现在触发器列表中。要查看这些计划,请使用 EventBridge 调度器控制台

要确认 EventBridge 调度器是否调用了该函数,查看该函数的 Amazon CloudWatch Logs

有关 EventBridge 调度器的详细信息,请参阅以下内容: