【发布时间】:2021-10-07 09:23:32
【问题描述】:
我从文件中读取行(我们称之为customers)并将它们发布到事件中心。每行包含一个customer_id 和一些数据。同一客户可能在文件中出现多次。因此,我想使用customer_id 作为分区键,以保证为同一客户保留订单,同时出于性能原因仍分批发送消息。看起来很简单...
因此,您可以使用
对消息或批处理设置分区 var opts = new SendEventOptions() {
PartitionKey = customer.CustomerId
};
client.SendAsync(messages, opts);
但这会在批次本身上设置分区键,这将使批次中的所有消息都具有相同的键
是否甚至可以在每条消息上设置分区键并仍然使用批处理以理智的方式?最好我想在每条消息上设置密钥,然后将它们添加到批处理中并发送。
我正在使用 Azure.Messaging.EventHubs 命名空间和 C#。
【问题讨论】:
标签: c# azure azure-eventhub