python - 如何使用python向eventhub发送多条消息

标签 python azure azure-eventhub

我已经使用 C# 库发送批量消息。 我想用 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 编码字符串。”

Link to the manual

最佳答案

尝试将事件内容替换为这样的格式,

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

关于python - 如何使用python向eventhub发送多条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37551807/

相关文章:

c# - Azure队列在DeleteMessage上抛出异常

Python pandas 将瞬时每小时数据重新采样为每日时间步长,包括 00 :00 of next day

azure - CLI 响应未指定在 Azure ContainerApp 中选择什么类型的入口流量设置

python - 使用python设置组权限

azure - 将数组值传递给变量

azure - 如何在本地调试EventHubTrigger?

c# - 如何在事件中心触发Azure函数中获取PartitionId?

azure - 我可以在 azure 函数中使用重试策略吗?

python - 是否可以获取 Cassandra 组合键的所有值?

Python SequenceMatcher 开销 - 100% 的 CPU 使用率和非常缓慢的处理