ScheduleV2
描述 ScheduleV2 事件源类型的对象,它将状态机设置为按计划触发的 Amazon EventBridge 调度器事件的目标。有关更多信息,请参阅《EventBridge 调度器用户指南》中的什么是 Amazon EventBridge 调度器?。
如果设置了此事件类型,Amazon Serverless Application Model (Amazon SAM) 会生成 AWS::Scheduler::Schedule 资源。
语法
要在您的 Amazon Serverless Application Model (Amazon SAM) 模板中声明此实体,请使用以下语法。
YAML
DeadLetterConfig:DeadLetterConfigDescription:StringEndDate:StringFlexibleTimeWindow:FlexibleTimeWindowGroupName:StringInput:StringKmsKeyArn:StringName:StringOmitName:BooleanPermissionsBoundary:StringRetryPolicy:RetryPolicyRoleArn:StringScheduleExpression:StringScheduleExpressionTimezone:StringStartDate:StringState:String
属性
-
DeadLetterConfig -
配置 Amazon Simple Queue Service (Amazon SQS) 队列,其中 EventBridge 在目标调用失败后向该队列发送事件。例如,在向不存在的 Lambda 函数发送事件或 EventBridge 调用 Lambda 函数的权限不足时,调用可能会失败。有关更多信息,请参阅《EventBridge 调度器用户指南》中的为 EventBridge 调度器配置死信队列。
必需:否
Amazon CloudFormation 兼容性:此属性类似于
AWS::Scheduler::ScheduleTarget数据类型的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-IDEvent-Source-Name类型:字符串
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Scheduler::Schedule资源的Name属性。 OmitName-
默认情况下,Amazon SAM 生成并使用格式为
<State-machine-logical-ID><event-source-name>的计划名称。将此属性设置为true以便 Amazon CloudFormation 生成唯一的物理 ID,并将其改用为计划名称。类型:布尔值
必需:否
默认值:
falseAmazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。
-
PermissionsBoundary -
用于为角色设置权限边界的策略的 ARN。
注意
如果已定义
PermissionsBoundary,则 Amazon SAM 将对调度器计划的目标 IAM 角色应用相同的边界。类型:字符串
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::IAM::Role资源的PermissionsBoundary属性。 -
RetryPolicy -
包含有关重试策略设置的信息的
RetryPolicy对象。类型:RetryPolicy
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Scheduler::ScheduleTarget数据类型的RetryPolicy属性。 -
RoleArn -
在调用计划时 EventBridge 调度器将用于该目标的 IAM 角色的 ARN。
类型:RoleArn
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Scheduler::ScheduleTarget数据类型的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