为什么EventHubClient.SendBatch()仅支持单个分区?

时间:2015-01-20 02:23:32

标签: azure-eventhub

显然(基于例外)EventHubClient.SendBatchEventHubClient.SendBatchAsync仅支持按操作发送到单个分区。这似乎在文档中通过方法摘要“将一批事件数据发送到PartitionId表示的逻辑分区”中指示,这似乎是从特定于EventHubSender.SendBatch的分区中复制的。

是否有设计方面的考虑因素(而不是编写更少的代码)让更高级别的客户端不需要重新加载? EventHubClient可以控制分区键散列/分发,而EventHubClient的调用者不希望发送一批具有可能位于同一分区的不同键的数据。我需要按照消息数量的顺序进行调用,而不是使用小消息容易产生两个数量级差异的分区数量。

由于重新加载所需的already可能会更糟。

1 个答案:

答案 0 :(得分:1)

我假设批处理的EventData对象上的PartitionKey将用于分区。但显然不是。 然而,有Paolo Salvatori,他编写了一套很好的Extension方法,为批量发送到Event Hub提供了良好而简单的支持。 你可能会喜欢他的帖子:http://blogs.msdn.com/b/paolos/archive/2015/03/26/how-to-implement-a-partitioned-sendbatch-method-for-azure-service-bus-entities.aspx

祝你好运