显然(基于异常)EventHubClient.SendBatch和EventHubClient.SendBatchAsync仅支持每次操作发送到单个分区。这似乎通过方法摘要“将一批事件数据发送到由 PartitionId 表示的逻辑分区”在文档中指出,该方法摘要似乎是从分区特定的EventHubSender.SendBatch复制的。
让更高级别的客户端不根据需要重新批处理是否有设计考虑(与仅编写更少的代码相比)?EventHubClient 可以控制分区键散列/分布,这对于希望发送具有不同键的一批数据的 EventHubClient 调用者不可用,这些数据可能位于同一分区上。留给自己重新批处理,我需要按消息数量的顺序进行调用,而不是按分区数量进行调用,而分区数量很容易出现两个数量级的差异。
由于已经有必要重新批处理,因此情况可能会更糟。