我已经使用C#libs发送批处理消息。 我想用python做同样的事情,怎么做? 实际上,我能够发送单个消息但批量发送会增加我的吞吐量。 这是代码:
from azure.servicebus import ServiceBusService
key_name = 'RootManageSharedAccessKey' # SharedAccessKeyName from Azure portal
key_value = '' # SharedAccessKey from Azure portal
sbs = ServiceBusService(service_namespace,
shared_access_key_name=key_name,
shared_access_key_value=key_value)
sbs.send_event('myhub', '{ "DeviceId":"dev-01", "Temperature":"37.0" }')
我认为这是可能的,因为在手册中它说:
"事件内容是包含多条消息的事件消息或JSON编码的字符串。"
答案 0 :(得分:3)
尝试使用这样的格式替换事件内容,
[{"Body":"Message1"},{"Body":"Message2"},{"Body":"Message3"}]
所以完整的代码将是这样的,
from azure.servicebus import ServiceBusService
key_name = 'RootManageSharedAccessKey' # SharedAccessKeyName from Azure portal
key_value = 'hdckR8xd*********************u5a84RoZSQHE=' # SharedAccessKey from Azure portal
service_namespace = 'myservice-ns' # service bus namespace
sbs = ServiceBusService(service_namespace,
shared_access_key_name=key_name,
shared_access_key_value=key_value)
sbs.create_event_hub('myhub')
sbs.send_event('myhub', '[{"name":"derek", "gender":"male"},{ "DeviceId":"dev-01", "Temperature":"37.0" }]')
有关一些信息,请参阅Event Hubs (classic) REST。