任何人都知道如何使用 python 中的 amqp 向 Azure 事件中心发送消息?我需要使用分区键(不是分区 id)发送消息。非常感谢。
根据Use of partition keys
官方文档的部分Partitioned queues and topics
,如下所示,您可以通过设置PartitionKey
消息的属性来发送带有分区键的消息。
PartitionKey:如果消息具有BrokeredMessage.PartitionKey属性但未设置 BrokeredMessage.SessionId 属性,则服务总线使用 PartitionKey 属性作为分区键。如果消息同时设置了 SessionId 和 PartitionKey 属性,则这两个属性必须相同。如果 PartitionKey 属性设置为与 SessionId 属性不同的值,服务总线将返回无效操作异常。如果发送方发送非会话感知事务消息,则应使用 PartitionKey 属性。分区键确保在事务中发送的所有消息都由同一个消息传递代理处理。
使用Python,步骤如下。
pip install python-qpid-proton
。这是我的示例代码作为参考。
from proton import Messenger, Message
messenger = Messenger()
message = Message()
message.address = "amqps://<shared_access_policy_name>:<shared_access_policy_key>@<your-servicebus-namespace>.servicebus.windows.net/<your-eventhub-name>"
message.properties = {
"PartitonKey" : "<a partitonKey you want>",
}
message.body = u"This is a text string"
messenger.put(message)
messenger.send()
请参阅此处的proton.Message
类参考。
希望能帮助到你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句