我正在尝试通过 Python SDK 将消息列表传递给服务总线,我收到 400 响应,因为 JSON 不是必需的格式。
我正在做这样的事情,但它失败了:
messages = [Message({'id':1,'name':'bob'}),Message({'id':2,'name':'bill'})]
sb.send_queue_message_batch('queue_name', messages)
如果我这样做,它会起作用:
messages = [Message('bob'),Message('bill')]
sb.send_queue_message_batch('queue_name', messages)
或者如果我像这样单独调用 send_queue_message 它可以工作
sb.send_queue_message('queue_name', Message({'id':1,'name':'bob'}))
sb.send_queue_message('queue_name', Message({'id':2,'name':'bill'}))
查看源代码,它调用消息上的一个方法来创建批处理中预期的格式,所以不确定我应该做些什么不同的事情。不幸的是,我能找到的所有批处理示例都是简单的字符串方法。
另一端的消费者将是一个 .Net 应用程序,因此我需要确保它仍然可以反序列化。我可以在消息内容上调用 json.dump 并将其作为正文的字符串化版本传递,但这听起来不是理想的解决方案。
谢谢