本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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
、和EventBridge
。类型:字符串
必需:否
AWS CloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 AWS CloudFormation 等效属性。
附加说明:如果类型为 SQS/SNS 且
Destination
属性留空,则 SQS/SNS 资源将由 SAM 自动生成。要引用该资源,请使用
(对于 SQS)或<function-logical-id>
.DestinationQueue
(对于 SQS)。如果类型为 Lambda/EventBridge,<function-logical-id>
.DestinationTopicDestination
则为必填项。
示例
EventInvoke 包含 SQS 和 Lambda 目标的配置示例
在此示例中,没有给出 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.
EventInvoke 带有 SNS 目标的配置示例
在此示例中,为在 OnSuccess 配置的模板文件中声明的 SNS 主题提供了一个目标。
YAML
EventInvokeConfig: DestinationConfig: OnSuccess: Type: SNS Destination: Ref: DestinationSNS # Arn of an SNS topic declared in the tempate file