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

OnSuccess

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

语法

要在您的 Amazon Serverless Application Model (Amazon SAM) 模板中声明此实体,请使用以下语法。

YAML

Destination: String Type: String

属性

Destination

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

类型:字符串

必需:条件

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

附加说明:如果类型为 Lambda/EventBridge,则 Destination 为必需。

Type

目标中引用的资源类型。支持的类型有 SQSSNSS3LambdaEventBridge

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。

附加说明:如果类型为 SQS/SNS 且 Destination 属性留空,则 SQS/SNS 资源将由 SAM 自动生成。要引用该资源,请使用 <function-logical-id>.DestinationQueue(对于 SQS)或 <function-logical-id>.DestinationTopic(对于 SQS)。如果类型为 Lambda/EventBridge,则 Destination 为必需。

示例

带有 SQS 和 Lambda 目标的 EventInvoke 配置示例

在此示例中,没有为 SQS OnSuccess 配置提供 Destination,因此 SAM 隐式创建了一个 SQS 队列并添加了所有必要的权限。同样在本示例中,模板文件中声明的 Lambda 资源的 Destination 是在 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.

带有 SNS 目标的 EventInvoke 配置示例

在此示例中,为在 OnSuccess 配置的模板文件中声明的 SNS 主题提供了 Destination。

YAML

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