使用pika获取AMQP路由键信息
我刚接触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 个回答
我想把这个答案写下来,因为这个问题在谷歌的文档出来之前就存在了。
def amqmessage(ch, method, properties, body):
channel.basic_consume(amqmessage, queue=queue_name, no_ack=True)
channel.start_consuming()
你可以通过method.routing_key
找到路由键。