OnFailure - AWS Serverless Application Model

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

OnFailure

處理失敗事件的目標。

語法

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

YAML

Destination: String Type: String

屬性

Destination

目標資源的 Amazon Resource Name (ARN)。

類型:字串

必要:有條件

AWS CloudFormation 相容性:此屬性類似於 AWS::Lambda::EventInvokeConfig 資源的 OnFailure 屬性。SAM 會將任何必要的許可新增至與此函數相關聯的自動產生 IAM 角色,以存取此屬性中參考的資源。

其他備註:如果類型為 Lambda/EventBridge,則需要目的地。

Type

目的地中參考的資源類型。支援的類型為 SQSSNSLambdaS3EventBridge

類型:字串

必要:否

AWS CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 AWS CloudFormation 同等的。

其他備註:如果類型為 SQS/SNS 且Destination屬性為空白,則 SQS/SNS 資源會由 SAM 自動產生。若要參考 資源,請將 <function-logical-id>.DestinationQueue 用於 SQS 或 <function-logical-id>.DestinationTopic SNS。如果類型為 Lambda/EventBridge,則 Destination 為必要項目。

範例

使用 SQS 和 Lambda 目的地的 EventInvoke 組態範例

在此範例中,SQS OnSuccess 組態不會指定目的地,因此 SAM 會隱含地建立 SQS 佇列並新增任何必要的許可。此外,在此範例中,在範本檔案中宣告的 Lambda 資源目的地是在 OnFailure 組態中指定,因此 SAM 會將必要的許可新增至此 Lambda 函數,以呼叫目的地 Lambda 函數。

YAML

EventInvokeConfig: DestinationConfig: OnSuccess: Type: SQS OnFailure: Type: Lambda Destination: !GetAtt DestinationLambda.Arn # Arn of a Lambda function declared in the template file.

使用 SNS 目的地的 EventInvoke 組態範例

在此範例中,會針對 OnSuccess 組態範本檔案中宣告的 SNS 主題指定目的地。

YAML

EventInvokeConfig: DestinationConfig: OnSuccess: Type: SNS Destination: Ref: DestinationSNS # Arn of an SNS topic declared in the tempate file