ScheduleV2 - AWS Serverless Application Model

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

ScheduleV2

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

AWS Serverless Application Model (AWS SAM) 在设置此事件类型时生成AWS::Scheduler::Schedule资源。

语法

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

属性

DeadLetterConfig

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

类型:DeadLetterConfig

必需:否

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

Description

计划的描述。

类型:字符串

必需:否

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

EndDate

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

类型:字符串

必需:否

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

FlexibleTimeWindow

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

类型:FlexibleTimeWindow

必需:否

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

GroupName

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

类型:字符串

必需:否

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

Input

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

类型:字符串

必需:否

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

KmsKeyArn

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

类型:字符串

必需:否

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

Name

计划的名称。如果您未指定名称,则 AWS SAM 会生成格式为的名称,StateMachine-Logical-IDEvent-Source-Name并使用该 ID 作为计划名称。

类型:字符串

必需:否

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

OmitName

默认情况下, AWS SAM 生成并使用 <S tate-machine-logical-ID event-source-name >< > 格式的计划名称。将此属性设置true为 AWS CloudFormation 生成唯一的物理 ID,然后改用该物理 ID 作为计划名称。

类型:布尔值

必需:否

默认值false

AWS CloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 AWS CloudFormation 等效属性。

PermissionsBoundary

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

注意

如果已定义,PermissionsBoundary则 AWS SAM 将对计划程序计划的目标 IAM 角色应用相同的边界。

类型:字符串

必需:否

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

RetryPolicy

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

类型:RetryPolicy

必需:否

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

RoleArn

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

类型:RoleArn

必需:否

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

ScheduleExpression

决定运行计划的时间和频率的计划表达式。

类型:字符串

必需:是

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

ScheduleExpressionTimezone

评估计划表达式的时区。

类型:字符串

必需:否

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

StartDate

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

类型:字符串

必需:否

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

State

计划的状态。

接受的值:DISABLED | ENABLED

类型:字符串

必需:否

AWS 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