使用pika获取AMQP路由键信息

5 投票
1 回答
4581 浏览
提问于 2025-04-18 10:32

我刚接触RabbitMQ,想找个办法来获取AMQP消息的路由键信息。有人试过这个吗?我找不到很多明确说明如何用pika(Python库)查询AMQP的文档。

我想做的事情是:

基本上,我有一个消费者类,比如:

channel.exchange_declare(exchange='test', type='topic') channel.queue_declare(queue='topic_queue',auto_delete=True) channel.queue_bind(queue='topic_queue', exchange='test', routing_key = '#')

我设置了一个队列,并将其绑定到一个交换机上,同时接收通过这个交换机传递的所有路由键(或者说绑定键)。

我还有一个函数:

def amqmessage(ch, method, properties, body): channel.basic_consume(amqmessage, queue=queue_name, no_ack=True) channel.start_consuming()

我觉得路由键应该是来自amqmessage函数的“method.routing_key”,但我不太确定怎么才能正确使用它。

1 个回答

3

我想把这个答案写下来,因为这个问题在谷歌的文档出来之前就存在了。

def amqmessage(ch, method, properties, body): channel.basic_consume(amqmessage, queue=queue_name, no_ack=True) channel.start_consuming()

你可以通过method.routing_key找到路由键。

撰写回答