gpt4 book ai didi

amazon-web-services - AWS sns 订阅过滤策略限制

转载 作者:行者123 更新时间:2023-12-04 09:43:23 28 4
gpt4 key购买 nike

在我的用例中,我在 filter policies 处的过滤策略约束中描述了 sns 订阅过滤策略的 150 值限制。总的来说,我希望有大约 500 到 1500 个值用作我的过滤策略中的包含标准。

似乎每个 sns 订阅也有一个过滤策略的限制。通过 cli set-subscription-attributes 应用第二个过滤策略 json 覆盖第一个过滤策略 json。最后,每次我阅读 sns subscribe 时,每个订阅资源(例如 sqs 队列)似乎对一个 sns 主题有一个订阅限制。对同一主题和队列多次使用 cli subscribe,每次都返回相同的订阅 arn。

所以我唯一的选择是每当我达到 150 个值限制时添加更多的 sqs 队列,每个队列都获得自己对 sns 主题的订阅——或者提出不同的过滤策略,这在我的用例中会不太精确,并且在我的订阅者应用程序中进行额外过滤以保持在 150 值限制以下。

我没有看到任何关于此的 SO 线程。我是否遗漏了什么,或者是否有人通过 aws cli 或 sdk 找到了更好的方法来绕过 150 个值过滤器策略限制?

附加背景信息:订阅者应用程序是一项现有的生产服务,可针对新到达的 Parquet 数据集实例生成数据质量指标,这些数据集包含在企业 s3 数据湖中,并已为该部门级服务提供服务。作为将湖数据集加入此服务的一部分,我们将它们添加到我们订阅数据湖 SNS 主题的过滤策略中。本主题向订阅者发布了所有湖泊数据集实例的数据集属性列表(s3 存储桶、 key 、数据集名称、时间戳等)——跨越 000 个数据集和大量存储桶。这个企业级的SNS话题我们不控制,但是可以订阅。目前,我们的订阅者应用程序每天会看到一条消息,每个载入的数据集。订阅应用程序在一个自动缩放组中运行,该组根据我们的 sqs 队列中可见的消息数量进行缩放。它有一些功能可以丢弃不符合要求的消息。最近,当我们尝试将服务扩展到湖中的其他数据集时,我们达到了过滤策略限制。我倾向于更改我们的过滤策略,以仅包含放入我们部门级 s3 存储桶的消息,然后在应用程序内进行数据集级过滤。必须看看这如何影响自动缩放。

SUBSCRIPTION_ARN=`aws sns --profile myProfile subscribe --topic-arn arn:aws:sns:us-east-1:123456789012:mySNS --protocol sqs --notification-endpoint arn:aws:sqs:us-east-1:999999999999:mySQS --return-subscription-arn` 
aws sns --profile myProfile set-subscription-attributes --subscription-arn $SUBSCRIPTION_ARN --attribute-name FilterPolicy --attribute-value file:///myUser/github/repo/filter_policy1.json

其中 filter_policy1.json 限制为 150 个数据集值并采用以下形式:
{
"dataset": [
"datasetname_1",
"datasetname_5",
"datasetname_256"
],
"_SUCCESS": [
"True"
]
}

最佳答案

只是暂时关闭它......
当前的:

SNS Topic => SQS Subscriber (150 value limit)
解决方案:我们决定在 SNS Topic 和 SQS 之间插入多个 lambda 订阅者;每个 lambda 都运行相同的代码来将订阅的 sns 事件写入我们的 SQS;不是很好,但允许我们的应用程序支持数百个数据集并保持现有的应用程序架构,直到我们需要更具可扩展性的东西
SNS Topic => lambda1 Subscriber (1st 150 datasets) => SQS
SNS Topic => lambda2 Subscriber (2nd 150 datasets) => SQS
...

关于amazon-web-services - AWS sns 订阅过滤策略限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62231946/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com