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

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

OnSuccess

已成功处理的事件的目标。

语法

在你的 AWS 无服务器应用程序模型 (AWS SAM)模板,使用以下语法。

YAML

Destination: String Type: String

属性

Destination

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

类型:字符串

必需: 条件

AWS CloudFormation 相容性: 此属性类似于 OnSuccess 特性 AWS::Lambda::EventInvokeConfig 资源。SAM将为与此功能关联的自动生成的IAM角色添加任何必要的权限,以访问此属性中引用的资源。

其他备注: 如果类型为Lambda/EventBridge,则需要目的地。

Type

目标中引用的资源类型。支持的类型是 SQS, SNS, Lambda、和 EventBridge.

类型:字符串

必需: 否

AWS CloudFormation 相容性: 此属性对于 AWS SAM 并且没有 AWS CloudFormation 同等产品。

其他备注: 如果类型为SQS/SNS,则 Destination 属性保留空白,SQS/SNS资源由SAM自动生成。要引用资源,请使用 <function-logical-id>.DestinationQueue SQS或 <function-logical-id>.DestinationTopic 适用于SNS。如果类型为Lambda/EventBridge, Destination 是必需的。

示例

使用SQS和Lambda目的地的事件调用配置示例

在本例中,没有为SQSOnSuccess配置指定目的地,因此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目的地)

在本例中,为在OnSuccess配置的模板文件中声明的SNS主题提供一个目的地。

YAML

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