本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
OnFailure
处理失败的事件的目标。
语法
在您的 中声明此实体 AWS 无服务器应用程序模型 (AWS SAM) 模板时,请使用以下语法。
YAML
Destination:
String
Type:String
属性
-
Destination
-
目标资源的 Amazon 资源名称 (ARN)。
类型: 字符串
必需: 条件
兼容性AWS CloudFormation: 此属性类似于
OnFailure
资源的AWS::Lambda::EventInvokeConfig
属性。SAM 将向与此函数关联的自动生成的 IAM 角色添加任何必要的权限,以访问在此属性中引用的资源。其他说明: 如果类型为 Lambda/EventBridge,则目标是必需的。
-
Type
-
目标中引用的资源的类型。支持的类型为
SQS
、SNS
、Lambda
和EventBridge
。类型: 字符串
必需: 否
兼容性AWS CloudFormation: 此属性对于 AWS SAM 是唯一的,没有等效的 AWS CloudFormation。
其他说明: 如果类型为 SQS/SNS 并且
Destination
属性留空,则 SAM 会自动生成 SQS/SNS 资源。要引用资源,请为 SQS 使用
,或为 SNS 使用<function-logical-id>
.DestinationQueue
。如果类型为 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.
EventInvoke 带 SNS 目标的配置示例
在此示例中,将为在 OnSuccess 配置的模板文件中声明的 SNS 主题指定目标。
YAML
EventInvokeConfig: DestinationConfig: OnSuccess: Type: SNS Destination: Ref: DestinationSNS # Arn of an SNS topic declared in the tempate file