OnSuccess
已成功处理的事件的目标。
语法
要在您的 Amazon Serverless Application Model (Amazon SAM) 模板中声明此实体,请使用以下语法。
YAML
Destination:StringType:String
属性
-
Destination -
目标资源的 Amazon 资源名称(ARN)。
类型:字符串
必需:条件
Amazon CloudFormation 兼容性:此属性类似于
AWS::Lambda::EventInvokeConfig资源的OnSuccess属性。SAM 将向与该函数关联的自动生成的 IAM 角色添加任何必要的权限,以访问此属性中引用的资源。附加说明:如果类型为 Lambda/EventBridge,则 Destination 为必需。
-
Type -
目标中引用的资源类型。支持的类型有
SQS、SNS、S3、Lambda和EventBridge。类型:字符串
必需:否
Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。
附加说明:如果类型为 SQS/SNS 且
Destination属性留空,则 SQS/SNS 资源将由 SAM 自动生成。要引用该资源,请使用(对于 SQS)或<function-logical-id>.DestinationQueue(对于 SQS)。如果类型为 Lambda/EventBridge,则<function-logical-id>.DestinationTopicDestination为必需。
示例
带有 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