Установите partitionKey для привязки вывода концентратора событий - PullRequest
1 голос
/ 11 марта 2020

У меня есть приложение функции javascript, которое определяет привязку вывода, указывающую на концентратор событий, как описано здесь . Я отправляю несколько сообщений одновременно (в пакетном режиме), чтобы обеспечить наилучшую производительность:

var message1 = //create javascript object here
var message2 = //create javascript object here
(...)

context.bindings.outputEventHubMessage = [];
context.bindings.outputEventHubMessage.push(message1);
context.bindings.outputEventHubMessage.push(message2);
(...)

context.done();

Это работает, но я хотел бы установить ключ разделения на уровне сообщений, чтобы сообщения с тот же ключ раздела попадает в тот же раздел EH. Я попытался сделать следующее:

message1.partitionKey = "ABC";
message2.partitionKey = "ABC";

... но это не сработало - для большого количества сообщений я заметил, что сообщения с одним и тем же ключом раздела имеют разные идентификаторы разделов.

Это выполнимо при отправке партиями? Если нет, будет ли это работать при отправке 1 на 1?

1 Ответ

0 голосов
/ 13 марта 2020

Исходя из этого обсуждения , похоже, что это невозможно с тем, как работает привязка сегодня. Хотя речь идет о C#, то же самое можно сказать и о других языках.

Учитывая изменения в Event Hubs SDK, по крайней мере для C#, кажется, опция путем привязки к EventHubClient напрямую. Но это не будет возможно для других языков.

Обходной путь может заключаться в прямом использовании Azure концентраторов событий NodeJS SDK вместо использования привязки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...