在RabbitMQ中按属性或标头获取消息

在RabbitMQ中按属性或标头获取消息,rabbitmq,message-queue,messaging,Rabbitmq,Message Queue,Messaging,我是RabbitMQ的新手,我遇到了一个问题。我正在尝试通过API方法从队列中获取消息。现在我已经做到了,如果可能的话,我希望通过头或属性从队列中获取消息。我阅读了关于HTTP API的文档。我还没有找到这样一个API,用于根据某些头或属性过滤消息 我使用这种API从队列中获取消息: /api/queues/vhost/name/get 在身体里: {"count":20,"ackmode":"ack_requeue_true","encoding":"auto"} 我在想,也许可以通过某种

我是RabbitMQ的新手,我遇到了一个问题。我正在尝试通过API方法从队列中获取消息。现在我已经做到了,如果可能的话,我希望通过头或属性从队列中获取消息。我阅读了关于HTTP API的文档。我还没有找到这样一个API,用于根据某些头或属性过滤消息

我使用这种API从队列中获取消息:

/api/queues/vhost/name/get
在身体里:

{"count":20,"ackmode":"ack_requeue_true","encoding":"auto"}
我在想,也许可以通过某种方式在身体中传递一些过滤器,这样它就可以过滤并返回我想要的信息

这是我的邮件的样子:

我试图通过正文
type=“myType”
header=“myHeader”

我现在已经做到了,我想通过标题或标题从队列中获取消息 如果可能的话

RabbitMQ仅按顺序从队列传递消息。一旦消息进入队列,就无法进行筛选

但是,您可以在邮件发布到exchange时对其进行筛选。使用标头交换并基于标头值绑定队列。然后,每个队列将包含您期望的消息,然后您可以使用这些消息

RabbitMQ教程有一节使用了“头交换”。以此为指导

最后,仅使用HTTP API进行测试。这是一种非常低效的检索消息的方法


注意:RabbitMQ团队监控
RabbitMQ用户
,并且有时只回答有关StackOverflow的问题