Amazon SNS中的FilterPolicy Subscription过滤策略每个账户最多有200个。这意味着如果您的帐户中有超过200个订阅者,则需要重新考虑和管理您的订阅过滤器策略。
解决方法是在每个订阅者上设置FilterPolicy,以便只记录特定消息的信息。以下是一个简单的示例:
import boto3
# Create an SNS client
sns = boto3.client('sns')
# Set up a filter policy
filter_policy = {'price': [{'numeric': ['>', 100]}, {'numeric_equals': 50}], 'category': ['clothes']}
# Subscribe an endpoint with the filter policy
subscription = sns.subscribe(
TopicArn='arn:aws:sns:REGION:ACCOUNT_ID:TOPIC_NAME',
Protocol='EMAIL',
Endpoint='example@example.com',
Attributes={
'FilterPolicy': json.dumps(filter_policy)
}
)
在上述代码中,'price”和'category”是筛选器策略的条件,其中'price”规定有关价格的信息,而'category”规定有关分类的信息。这种方式可以将FilterPolicy视为只包含特定条款的字典,并将其传递给'Attributes”参数。