2016-05-31 6 views
0

Ich sende bereits Batch-Nachrichten mit C# libs. Ich möchte das gleiche mit Python tun, wie es geht? Eigentlich bin ich in der Lage, einzelne Nachrichten zu senden, aber Batch-send erhöht meine throughput. Dieser ist der Code:Wie man mehrere Nachrichten mit python an eventhub senden

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" }') 

Ich denke, es ist möglich, weil auf dem Handbuch heißt es: „Die Veranstaltung Inhalt ist die Ereignisnachricht oder JSON-codierte Zeichenfolge, die mehrere Nachrichten enthält“

Link to the manual

Antwort

2

Versuchen Sie, den Ereignisinhalt mit dem Format so zu ersetzen,

[{"Body":"Message1"},{"Body":"Message2"},{"Body":"Message3"}]

So ist der vollständige Code wird so sein,

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" }]') 

zu Event Hubs (classic) REST Siehe für einige Informationen.

Verwandte Themen