如何将数据发送至Event Hub指定分区(如分区0)?代码尝试未生效
问题原因及修复方案
你的代码无法将数据发送到指定分区,核心问题是连接字符串和Event Hub名称被错误地定义为列表类型,而EventHubProducerClient.from_connection_string方法需要接收字符串格式的参数,列表类型会导致客户端初始化异常,进而使分区指定逻辑失效。
修复后的代码
def submit_images(jsondata): # 移除列表包裹,使用字符串格式的参数 connection_str = '****************************' eventhub_name = '*********' # 正确初始化客户端 client = EventHubProducerClient.from_connection_string(connection_str, eventhub_name=eventhub_name) with client: # 在with块内创建指定分区的批次(确保资源正确管理) event_data_batch = client.create_batch(partition_id=0) event_data_batch.add(EventData(jsondata)) client.send_batch(event_data_batch) return jsondata
额外说明
- 若要发送到第二个分区,只需将
create_batch方法中的partition_id参数改为1即可。 - 确保你的Event Hub连接字符串拥有发送者权限,否则即使代码正确也无法完成数据发送。
内容的提问来源于stack exchange,提问作者Sumanth Babu
相关产品推荐
相关产品推荐

