ScheduleV2 - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

ScheduleV2

描述ScheduleV2事件源类型的对象,它将您的无服务器函数设置为按计划触发的 Amazon S EventBridge cheduler 事件的目标。有关更多信息,请参阅什么是 Amazon EventBridge 日程安排? 在《EventBridge 日程安排器用户指南》中。

如果设置了此事件类型,Amazon Serverless Application Model (Amazon SAM) 会生成 AWS::Scheduler::Schedule 资源。

语法

要在您的 Amazon Serverless Application Model (Amazon SAM) 模板中声明此实体,请使用以下语法。

属性

DeadLetterConfig

配置亚马逊简单队列服务 (Amazon SQS) Simple Queue Service 队列,目标调用失败后 EventBridge 在该队列中发送事件。例如,当向不存在的 Lambda 函数发送事件时,或者没有足够的权限调用 Lambda 函数 EventBridge 时,调用可能会失败。有关更多信息,请参阅《日 EventBridge 程安排器用户指南》中的为调度程序配置死信队列。EventBridge

注意

AWS::Serverless::Function 资源类型具有类似的数据类型 DeadLetterQueue,用于处理成功调用目标 Lambda 函数后发生的故障。这些类型的故障示例包括 Lambda 节流或 Lambda 目标函数返回的错误。有关函数 DeadLetterQueue 属性的更多信息,请参阅《Amazon Lambda 开发人员指南》中的死信队列

类型:DeadLetterConfig

必需:否

Amazon CloudFormation 兼容性:此属性类似于 AWS::Scheduler::Schedule Target 数据类型的 DeadLetterConfig 属性。此属性的 Amazon SAM 版本包括其他子属性,以备您想要 Amazon SAM 创建死信队列时使用。

Description

计划的描述。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给 AWS::Scheduler::Schedule 资源的 Description 属性。

EndDate

以 UTC 为单位的日期,在此日期之前计划可以调用其目标。根据计划的重复表达式,调用可能会在您指定的 EndDate 或之前停止。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给 AWS::Scheduler::Schedule 资源的 EndDate 属性。

FlexibleTimeWindow

允许配置可以调用计划的窗口。

类型:FlexibleTimeWindow

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给 AWS::Scheduler::Schedule 资源的 FlexibleTimeWindow 属性。

GroupName

将与此计划关联的计划组名称。如果未定义,则使用默认组。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给 AWS::Scheduler::Schedule 资源的 GroupName 属性。

Input

传递到目标的有效 JSON 文本。如果使用此属性,则不会将事件文本本身的任何内容传递到目标。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给 AWS::Scheduler::Schedule Target 资源的 Input 属性。

KmsKeyArn

将用于加密客户数据的 KMS 密钥的 ARN。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给 AWS::Scheduler::Schedule 资源的 KmsKeyArn 属性。

Name

计划的名称。如果未指定名称,Amazon SAM 将生成格式为 Function-Logical-IDEvent-Source-Name 的名称,并将该 ID 用于计划名称。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给 AWS::Scheduler::Schedule 资源的 Name 属性。

OmitName

默认情况下,Amazon SAM生成并使用 < event-source-name > <Function-logical-ID>格式的计划名称。将此属性设置为 true 以便 Amazon CloudFormation 生成唯一的物理 ID,并将其改用为计划名称。

类型:布尔值

必需:否

默认值false

Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。

PermissionsBoundary

用于为角色设置权限边界的策略的 ARN。

注意

如果已定义 PermissionsBoundary,则 Amazon SAM 将对调度器计划的目标 IAM 角色应用相同的边界。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给 AWS::IAM::Role 资源的 PermissionsBoundary 属性。

RetryPolicy

包含有关重试策略设置的信息的 RetryPolicy 对象。

类型:RetryPolicy

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给 AWS::Scheduler::Schedule Target 数据类型的 RetryPolicy 属性。

RoleArn

调用计划时, EventBridge 计划程序将用于目标的 IAM 角色的 ARN。

类型:RoleArn

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给 AWS::Scheduler::Schedule Target 数据类型的 RoleArn 属性。

ScheduleExpression

决定运行调度器计划事件的时间和频率的计划表达式。

类型:字符串

必需:是

Amazon CloudFormation 兼容性:此属性直接传递给 AWS::Scheduler::Schedule 资源的 ScheduleExpression 属性。

ScheduleExpressionTimezone

评估计划表达式的时区。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给 AWS::Scheduler::Schedule 资源的 ScheduleExpressionTimezone 属性。

StartDate

以 UTC 为单位的日期,在此日期之后计划可以调用目标。根据计划的重复表达式,调用可能会在您指定的 StartDate 或之后发生。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给 AWS::Scheduler::Schedule 资源的 StartDate 属性。

State

调度器计划的状态。

接受的值:DISABLED | ENABLED

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给 AWS::Scheduler::Schedule 资源的 State 属性。

示例

定义 ScheduleV2 资源的基本示例

Resources: Function: Properties: ... Events: ScheduleEvent: Type: ScheduleV2 Properties: ScheduleExpression: "rate(1 minute)" ComplexScheduleEvent: Type: ScheduleV2 Properties: ScheduleExpression: rate(1 minute) FlexibleTimeWindow: Mode: FLEXIBLE MaximumWindowInMinutes: 5 StartDate: '2022-12-28T12:00:00.000Z' EndDate: '2023-01-28T12:00:00.000Z' ScheduleExpressionTimezone: UTC RetryPolicy: MaximumRetryAttempts: 5 MaximumEventAgeInSeconds: 300 DeadLetterConfig: Type: SQS