【问题标题】:python passing binary file through rabbitmqpython通过rabbitmq传递二进制文件
【发布时间】:2012-12-14 13:07:26
【问题描述】:

我正在尝试通过 pika(rabbitmq 的 python 驱动程序)通过 rabbitmq 传递二进制文件

channel.exchange_declare(exchange=exchange_name,type="fanout",durable=True)
channel.queue_declare(queue=queue_name,durable=True)
channel.queue_bind(exchange=exchange_name,queue=queue_name,routing_key="#")
channel.confirm_delivery()
confirmed = channel.basic_publish(exchange=exchange_name,routing_key="",body=data)

data 是我的二进制文件。我想将文件名作为参数传递,这样我就可以知道我排队到 rabbimq 的文件是什么。

我该怎么做?

【问题讨论】:

    标签: python rabbitmq pika


    【解决方案1】:

    有两种方法可以做到这一点。如果您可以序列化您的数据,您可以将其作为常规消息发送。因此,如果您可以将数据文件加载为对象,则可以使用 yaml XML 或 Json 将其序列化为文本。并将序列化的文本作为消息发送。并在消费者端反序列化。否则,您可以将主体视为字节数组。字符串是字节数组,因此消息作为文本将毫无意义,但将是您文件的字节表示。

    另一种方法是根本不发送文件。相反,每条消息都是一个链接,因此消费者知道在哪里可以找到文件。然后它可以读取或下载文件。

    【讨论】:

      猜你喜欢
      • 2014-03-31
      • 1970-01-01
      • 1970-01-01
      • 2018-08-11
      • 1970-01-01
      • 2011-08-27
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多