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

ScheduleV2

描述 ScheduleV2 事件源类型的对象,它将状态机设置为按计划触发的 Amazon EventBridge 调度器事件的目标。有关更多信息,请参阅《EventBridge 调度器用户指南》中的什么是 Amazon EventBridge 调度器?

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

语法

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

属性

DeadLetterConfig

配置 Amazon Simple Queue Service (Amazon SQS) 队列,其中 EventBridge 在目标调用失败后向该队列发送事件。例如,在向不存在的 Lambda 函数发送事件或 EventBridge 调用 Lambda 函数的权限不足时,调用可能会失败。有关更多信息,请参阅《EventBridge 调度器用户指南》中的为 EventBridge 调度器配置死信队列

类型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 将生成格式为 StateMachine-Logical-IDEvent-Source-Name 的名称,并将该 ID 用于计划名称。

类型:字符串

必需:否

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

OmitName

默认情况下,Amazon SAM 生成并使用格式为 <State-machine-logical-ID><event-source-name> 的计划名称。将此属性设置为 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 资源的基本示例

StateMachine: Type: AWS::Serverless::StateMachine Properties: Name: MyStateMachine 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 DefinitionUri: Bucket: sam-sam-s3-demo-bucket Key: my-state-machine.asl.json Version: 3 Policies: - LambdaInvokePolicy: FunctionName: !Ref MyFunction