Очевидно (на основании исключения) EventHubClient.SendBatch и EventHubClient.SendBatchAsync поддерживает отправку только в один раздел за операцию. Похоже, что это указано в документации в сводке метода «Отправляет пакет данных о событии в логический раздел, представленный PartitionId», который, по-видимому, копируется из конкретного раздела EventHubSender.SendBatch.
Существуют ли соображения дизайна (по сравнению с просто написанием меньшего количества кода) в том, что клиент более высокого уровня не выполняет повторную пакетную обработку по мере необходимости? EventHubClient имеет контроль над хешированием/распределением ключа раздела, что недоступно вызывающим сторонам EventHubClient, которые хотят отправить пакет данных с разными ключами, которые могут находиться в одном разделе. Осталось перекомпоновать себя. Мне нужно совершать вызовы по порядку количества сообщений, а не по количеству разделов, которые с небольшими сообщениями легко отличаются на два порядка.
Поскольку уже необходимо повторно могло быть и хуже.