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

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

SNS

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

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

语法

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

属性

FilterPolicy

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

类型:SnsFilterPolicy

必需:否

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

FilterPolicyScope

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

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

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

类型:字符串

必需:否

默认值MessageAttributes

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

RedrivePolicy

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

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

类型:Json

必需:否

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

Region

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

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

类型:字符串

必需:否

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

SqsSubscription

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

类型:布尔值 | SqsSubscriptionObject

必需:否

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

Topic

要订阅的主题的 ARN。

类型:字符串

必需:是

Amazon 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