ScheduleV2 - AWS Serverless Application Model

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

ScheduleV2

描述ScheduleV2事件來源類型的物件,可將狀態機器設定為按排程觸發之 Amazon EventBridge Scheduler 事件的目標。如需詳細資訊,請參閱什麼是 Amazon EventBridge 排程器? 在「EventBridge 排程器使用指南」中。

AWS Serverless Application Model (AWS SAM) 在設定此事件類型時產生AWS::Scheduler::Schedule資源。

語法

若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體,請使用下列語法。

屬性

DeadLetterConfig

設定 Amazon Simple Queue Service (Amazon SQS) 佇列,在目標叫用失敗後 EventBridge 傳送事件。例如,當將事件傳送至不存在的 Lambda 函數,或是沒 EventBridge 有足夠的權限無法呼叫 Lambda 函數時,呼叫可能會失敗。如需詳細資訊,請參閱《排程器使用指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,並將其用作明細表名稱。

類型:布林值

必要:否

預設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屬性。

範例

定義排程 2 資源的基本範例

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