首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在轮询前从AWS SQS队列中删除一些消息

在轮询前从AWS SQS队列中删除一些消息
EN

Stack Overflow用户
提问于 2019-08-01 13:58:49
回答 1查看 857关注 0票数 0

我有一个Node.js应用程序,它从AWS队列中汇集消息并处理这些消息。

但是,其中一些消息与我的服务无关,它们将被过滤掉而不被处理。

我想知道在收到这些无关的消息之前,我是否可以从AWS中过滤这些信息.

例如,如果消息没有以下属性data.name,则在到达我的应用程序之前将删除此消息.

在将这些消息发送到队列之前对它们进行过滤是不可能的(根据我的客户端)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-01 14:14:03

不,如果不轮询消息本身,这是不可能的。因此,如果消息满足您的要求,则需要一些其他使用者轮询消息并将它们返回到队列中(而不是在接收到的删除句柄上调用DeleteMessage ),但在大多数情况下,这将是过度的,这取决于“好”和“坏”消息的比例,但您仍然需要处理两次“好”消息。

更好的方法是设置额外的使用者和两个队列。生产者将消息发送到第一个队列,该队列由第一个使用者轮询,第一个用户的唯一目的是过滤消息并向第二个队列发送“好”消息,然后第二个队列将由当前的使用者应用程序轮询。但同样,这样做的代价要高得多。

如果您无法在将消息发送到队列之前过滤它们,那么在您的消费应用程序中过滤它们,否则您将不得不为这个额外的功能支付一些额外的费用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57310784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档