Python 尝试发送带有代理属性的azure service bus消息时出错400

Python 尝试发送带有代理属性的azure service bus消息时出错400,python,azure,azureservicebus,Python,Azure,Azureservicebus,我有一个小型python应用程序,它可以将信息发送到我的azure服务总线。我注意到每条消息都有“broker\u properties”字典,还有一个名为“Label”的属性,我可以稍后从服务总线访问它 我正在尝试发送填充该属性的消息: properties = {"Label":label} msg = Message(bytes(messagebody, "utf-8"), bus_service, broker_properties=properties) bus_service.sen

我有一个小型python应用程序,它可以将信息发送到我的azure服务总线。我注意到每条消息都有“broker\u properties”字典,还有一个名为“Label”的属性,我可以稍后从服务总线访问它

我正在尝试发送填充该属性的消息:

properties = {"Label":label}
msg = Message(bytes(messagebody, "utf-8"), bus_service, broker_properties=properties)
bus_service.send_queue_message("queue", msg)
但这似乎不起作用。执行上述命令时,我从Azure返回一个错误:

The value '{'Label': 'testtest'}' of the HTTP header 'BrokerProperties' is invalid.

这是Python Azure SDK中的错误还是我做错了什么?

根据您的代码,该问题是由于使用Python dict对象作为
broker\u属性的值引起的,但是
broker\u属性的值应该是json字符串。请参考GitHub上Azure SDK for Python中的测试

因此,请修改您的代码如下

properties = '{"Label": "%s"}' % label


根据您的代码,问题是由于使用Python dict对象作为
broker\u属性
的值引起的,但是
broker\u属性
值应该是json字符串。请参考GitHub上Azure SDK for Python中的测试

因此,请修改您的代码如下

properties = '{"Label": "%s"}' % label


看起来像。NET client的Label属性没有OOO问题。在servicebus的v7中,您应该能够使用如下所示的。NET客户端的Label属性没有OOO问题。在servicebus的v7中,您应该能够使用
ServiceBusMessage
发送dict as应用程序属性,以便关闭,该问题也在Azure SDK For Python问题跟踪器上打开,并如Peter Pan所说解决@LaurentMazuel感谢您的反馈。最后,这个问题也在Azure SDK for Python问题跟踪器上打开,并如Peter Pan所说解决了@谢谢你的反馈。