

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

# Amazon SNS 订阅筛选策略
<a name="sns-subscription-filter-policies"></a>

订阅筛选策略允许您指定属性名称并向每个属性名称分配一个值列表。有关更多信息，请参阅 [Amazon SNS 消息筛选](sns-message-filtering.md)。

当 Amazon SNS 根据订阅筛选策略评估消息属性或消息正文属性时，它会忽略未在策略中指定的内容。

**重要**  
Amazon 诸如 IAM 和 Amazon SNS 之类的服务使用一种称为最终一致性的分布式计算模型。对订阅筛选器策略的添加或更改最多需要 15 分钟即可完全生效。

在以下条件下，一个订阅接受一条消息：
+ 当筛选策略范围设置为 `MessageAttributes` 时，筛选策略中的每个属性名称都与消息属性名称相匹配。对于筛选策略中匹配的每个属性名称，至少有一个属性值与消息属性值相匹配。
+ 当筛选策略范围设置为 `MessageBody` 时，筛选策略中的每个属性名称都与消息正文属性名称相匹配。对于筛选策略中匹配的每个属性名称，至少有一个属性值与消息正文属性值相匹配。

Amazon SNS 目前支持以下筛选运算符：
+ [AND 逻辑](and-or-logic.md#and-logic)
+ [OR 逻辑](and-or-logic.md#or-logic)
+ [OR 运算符](and-or-logic.md#or-operator)
+ [键匹配](attribute-key-matching.md)
+ [数值精确匹配](numeric-value-matching.md#numeric-exact-matching)
+ [数值 anything-but 匹配](numeric-value-matching.md#numeric-anything-but-matching)
+ [数值范围匹配](numeric-value-matching.md#numeric-value-range-matching)
+ [字符串值精确匹配](string-value-matching.md#string-exact-matching)
+ [字符串值 anything-but 匹配](string-value-matching.md#string-anything-but-matching)
+ [使用前缀和 anything-but 运算符的字符串匹配](string-value-matching.md#string-anything-but-matching)
+ [字符串值等于-忽略大小写](string-value-matching.md#string-equals-ignore)
+ [字符串值 IP 地址匹配](string-value-matching.md#string-address-matching)
+ [字符串值前缀匹配](string-value-matching.md#string-prefix-matching)
+ [字符串值后缀匹配](string-value-matching.md#string-suffix-matching)