OnFailure - AWS Serverless Application Model
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

OnFailure

处理失败的事件的目标。

语法

在您的 中声明此实体 AWS 无服务器应用程序模型 (AWS SAM) 模板时,请使用以下语法。

YAML

Destination: String Type: String

属性

Destination

目标资源的 Amazon 资源名称 (ARN)。

类型: 字符串

必需: 条件

兼容性AWS CloudFormation: 此属性类似于 OnFailure 资源的 AWS::Lambda::EventInvokeConfig 属性。SAM 将向与此函数关联的自动生成的 IAM 角色添加任何必要的权限,以访问在此属性中引用的资源。

其他说明: 如果类型为 Lambda/EventBridge,则目标是必需的。

Type

目标中引用的资源的类型。支持的类型为 SQSSNSLambdaEventBridge

类型: 字符串

必需: 否

兼容性AWS CloudFormation: 此属性对于 AWS SAM 是唯一的,没有等效的 AWS CloudFormation。

其他说明: 如果类型为 SQS/SNS 并且 Destination 属性留空,则 SAM 会自动生成 SQS/SNS 资源。要引用资源,请为 SQS 使用 <function-logical-id>.DestinationQueue,或为 SNS 使用 <function-logical-id>.DestinationTopic。如果类型为 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.

EventInvoke 带 SNS 目标的配置示例

在此示例中,将为在 OnSuccess 配置的模板文件中声明的 SNS 主题指定目标。

YAML

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