Отправить одно или несколько событий в EventHub Azure - PullRequest
0 голосов
/ 26 сентября 2018

Я использую приложение логики (LA) в Azure, чтобы запрашивать мою базу данных каждые 3 минуты.Затем LA использует соединитель EventHub для отправки моего результата запроса, таблицы, в Azure Stream Analytics (ASA).

Обычно таблица результатов имеет около 100 строк, определенно намного больше в пиковое время.

Я подумал, что отправка сообщения Eventhub по одной строке каждый раз приведет к такому количеству вызовов, поэтому, возможно, задержит логику ASA (?)

Мои вопросы:

  • Какотправить несколько сообщений через Actionhub LA?Я вижу, что есть один вариант: отправить одно или несколько событий в Eventhub, но не смог понять, что добавить в контент.Пробовал ставить стол (массив).Следующее тело запроса работает.например, тело:

    [ { "ContentData": "dHhuX2FnZV9yZXN1bHQ=", "Properties": { "tti_IngestTime": "2018-09-26T20:10:55.4480047+00:00", "tti_SLAThresholdMins": 330, "MinsPastSla": -6 } }, { "ContentData": "AhuBA2FnZV9yZXN1bHQ=", "Properties": { "tti_IngestTime": "2018-09-26T20:10:55.4480047+00:00", "tti_SLAThresholdMins": 230, "MinsPastSla": -5 } } ]

    • Отправка 100 событий одно за другим в ASA, есть ли проблемы с производительностью?

Спасибо!

1 Ответ

0 голосов
/ 27 сентября 2018

Кажется, чтобы найти ответ.

(1) JSON, который я отправляю, выглядит правильно, и запрос на отправку в EvenHub выполнен успешно.

Тело сообщения - [{}, {}, {}], который является правильным форматом

(2) ASA не может прочитать поток, скорее всего, из-за невозможности десериализации сообщений из EventHub.

Я могу изменить способЯ кодирую строку base64 для «ContentData» отправить в EventHub.Похоже, что сообщение, отправленное в EH,

{ "ContentData": "some base64() string", "Properties": {} },

, base64 () должна закодировать значение «Свойства», а не что-либо еще, чтобы ASA могла десериализоватьсообщение.

Это не сработало, потому что я кодировал случайную строку вместо значения «Свойства».

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