2016-05-31 22 views
0

我已經使用C#庫發送批量郵件。 我想用python做同樣的事情,怎麼做呢? 其實我可以發送單條消息,但批量發送會增加我的整個吞吐量。 這是代碼:如何使用python發送多個郵件到eventhub

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編碼字符串」

Link to the manual

回答

2

嘗試更換活動內容,像這樣的格式,

[{"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爲一些信息。

相關問題