SNS - AWS Serverless Application Model

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

SNS

描述 SNS 事件源类型的对象。

如果设置了此事件类型,SAM 会生成 AWS::SNS::Subscription 资源

语法

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

属性

FilterPolicy

分配给订阅的筛选策略 JSON。有关更多信息,请参阅GetSubscriptionAttributes《亚马逊简单通知服务 API 参考》。

类型:SnsFilterPolicy

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::SNS::Subscription资源的FilterPolicy属性。

FilterPolicyScope

此属性允许您使用以下字符串值类型之一来选择筛选范围:

  • MessageAttributes – 筛选条件应用于消息属性。

  • MessageBody – 筛选条件应用于消息正文。

类型:字符串

必需:否

默认值MessageAttributes

AWS CloudFormation 兼容性:此属性直接传递给AWS::SNS::Subscription资源的 FilterPolicyScope属性。

RedrivePolicy

指定后,将无法传输的消息发送到指定的 Amazon SQS 死信队列。由于客户端错误(例如,在无法访问订阅的端点时)或服务器错误(例如,在支持订阅的端点的服务变得不可用时)而无法传输的消息将保留在死信队列中,以进行进一步分析或重新处理。

有关重新驱动策略和死信队列的更多信息,请参阅《Amazon Simple Queue Service 开发人员指南》中的 Amazon SQS 死信队列

类型:Json

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::SNS::Subscription资源的 RedrivePolicy属性。

Region

对于跨区域订阅,为主题所在的区域。

如果未指定区域,则 CloudFormation 使用呼叫者的区域作为默认区域。

类型:字符串

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::SNS::Subscription资源的Region属性。

SqsSubscription

将此属性设置为 true,或指定 SqsSubscriptionObject 以在 SQS 队列中启用批处理 SNS 主题通知。将此属性设置为 true 可创建新的 SQS 队列,而指定 SqsSubscriptionObject 则使用现有的 SQS 队列。

类型:布尔值 | SqsSubscriptionObject

必需:否

AWS CloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 AWS CloudFormation 等效属性。

Topic

要订阅的主题的 ARN。

类型:字符串

必需:是

AWS CloudFormation 兼容性:此属性直接传递给AWS::SNS::Subscription资源的TopicArn属性。

示例

SNS 事件源示例

SNS 事件源示例

YAML

Events: SNSEvent: Type: SNS Properties: Topic: arn:aws:sns:us-east-1:123456789012:my_topic SqsSubscription: true FilterPolicy: store: - example_corp price_usd: - numeric: - ">=" - 100