本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
OnFailure
处理失败的事件的目标。
语法
要在您的中声明此实体Amazon Serverless Application Model(Amazon SAM) 模板,请使用以下语法。
YAML
Destination:StringType:String
属性
-
Destination -
目标资源的 Amazon Resource Name (ARN)。
类型:字符串
必需:条件
Amazon CloudFormation兼容性:此属性类似于
OnFailure的财产AWS::Lambda::EventInvokeConfig资源。SAM 将向与此函数关联的自动生成的 IAM 角色添加任何必要的权限,以访问此属性中引用的资源。附加说明:如果类型是 lambdA/EventBridge,则需要目的地。
-
Type -
目标中引用的资源的类型。支持的类型包括
SQS、SNS、Lambda, 和EventBridge.类型:字符串
必需:否
Amazon CloudFormation兼容性:此属性是唯一的Amazon SAM而且没有Amazon CloudFormation等效项
附加说明:如果类型是 SQS/SNS 且
Destination属性留空,然后 SAM 自动生成 SQS/SNS 资源。要引用资源,请使用对于 SQS 或<function-logical-id>.DestinationQueue对于 SNS。如果类型是 lambdA/EventBridge,<function-logical-id>.DestinationTopicDestination是必需的。
示例
具有 SQS 和 Lambda 目标的 EventInvoke 配置示例
在此示例中,没有为 SQS onSuccess 配置指定目标,因此 SAM 隐式创建了 SQS 队列并添加任何必要的权限。另外,在此示例中,在 onFailure 配置中指定了模板文件中声明的 Lambda 资源的目标,因此 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