本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
ScheduleV2
描述ScheduleV2
事件源类型的对象,它将您的状态机设置为按计划触发的 Amazon S EventBridge cheduler 事件的目标。有关更多信息,请参阅什么是 Amazon EventBridge 日程安排? 在《EventBridge 日程安排器用户指南》中。
如果设置了此事件类型,Amazon Serverless Application Model (Amazon SAM) 会生成 AWS::Scheduler::Schedule 资源。
语法
要在您的 Amazon Serverless Application Model (Amazon SAM) 模板中声明此实体,请使用以下语法。
YAML
DeadLetterConfig:
DeadLetterConfig
Description:String
EndDate:String
FlexibleTimeWindow:FlexibleTimeWindow
GroupName:String
Input:String
KmsKeyArn:String
Name:String
OmitName:Boolean
PermissionsBoundary:String
RetryPolicy:RetryPolicy
RoleArn:String
ScheduleExpression:String
ScheduleExpressionTimezone:String
StartDate:String
State:String
属性
-
DeadLetterConfig
-
配置亚马逊简单队列服务 (Amazon SQS) Simple Queue Service 队列,目标调用失败后 EventBridge 在该队列中发送事件。例如,当向不存在的 Lambda 函数发送事件时,或者没有足够的权限调用 Lambda 函数 EventBridge 时,调用可能会失败。有关更多信息,请参阅《日 EventBridge 程安排器用户指南》中的为调度程序配置死信队列。EventBridge
必需:否
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
-
允许配置可以调用计划的窗口。
必需:否
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 将生成格式为
的名称,并将该 ID 用于计划名称。StateMachine-Logical-ID
Event-Source-Name
类型:字符串
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Scheduler::Schedule
资源的Name
属性。 OmitName
-
默认情况下,Amazon SAM生成并使用
<S tate-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-demo-bucket Key: my-state-machine.asl.json Version: 3 Policies: - LambdaInvokePolicy: FunctionName: !Ref MyFunction