本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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
-
目的地中參考的資源類型。支援的類型為
SQS
、SNS
、Lambda
、S3
和EventBridge
。類型:字串
必要:否
AWS CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 AWS CloudFormation 同等的。
其他備註:如果類型為 SQS/SNS 且
Destination
屬性為空白,則 SQS/SNS 資源會由 SAM 自動產生。若要參考 資源,請將
用於 SQS 或<function-logical-id>
.DestinationQueue
SNS。如果類型為 Lambda/EventBridge,則<function-logical-id>
.DestinationTopicDestination
為必要項目。
範例
使用 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