Выходные данные Центров событий из Azure Stream Analytics

Служба Центров событий Azure — это высокомасштабируемое событие публикации и подписки на событие ingestor. Он может собирать миллионы событий в секунду. Одно из использования концентратора событий в качестве выходных данных заключается в том, что выходные данные задания Stream Analytics становятся входными данными другого задания потоковой передачи. Сведения о максимальном размере сообщения и оптимизации размера пакета см. в разделе "Выходной размер пакета ".

Конфигурация выходных данных

В следующей таблице указаны параметры, необходимые для настройки потоков данных из центров событий в качестве выходных данных.

Имя свойства Описание
Псевдоним выходных данных Понятное имя, используемое в запросах для направления выходных данных запроса в этот концентратор событий.
Пространство имен Event Hub Контейнер для набора сущностей обмена сообщениями. При создании нового концентратора событий вы также создали пространство имен концентратора событий.
Имя концентратора событий Имя выходных данных концентратора событий.
Имя политики концентратора событий Политика общего доступа, которую можно создать на вкладке "Настройка концентратора событий". Каждая политика общего доступа имеет имя, заданные разрешения и ключи доступа.
Ключ политики концентратора событий Общий ключ доступа, используемый для проверки подлинности доступа к пространству имен концентратора событий.
Столбец ключа секции Необязательно. Столбец, содержащий ключ секции для выходных данных концентратора событий.
Формат сериализации событий Формат сериализации выходных данных. Поддерживаются JSON, CSV и Avro.
Кодирование Для CSV и JSON В настоящее время UTF-8 является единственным поддерживаемым форматом кодирования.
Разделитель Применимо только для сериализации CSV. Stream Analytics поддерживает ряд общих разделителей для сериализации данных в формате CSV. Поддерживаемые значения: запятая, точка с запятой, пробел, вкладка и вертикальная полоса.
Формат Применимо только для сериализации JSON. Разделенная строка указывает, что выходные данные форматируются с помощью каждого объекта JSON, разделенного новой строкой. Если выбрать разделимую линию, json считывается один объект за раз. Весь контент сам по себе не будет допустимым JSON. Массив указывает, что выходные данные форматируются как массив объектов JSON.
Столбцы свойств Необязательно. Разделенные запятыми столбцы, которые должны быть присоединены в качестве свойств пользователя исходящего сообщения, а не полезных данных. Дополнительные сведения об этой функции приведены в разделе "Настраиваемые свойства метаданных" для выходных данных.

Partitioning

Секционирование зависит от выравнивания секций. Если ключ секции для выходных данных концентратора событий совпадает с этапом запроса вышестоящего (предыдущего) запроса, число записи совпадает с числом секций в выходных данных концентратора событий. Каждый модуль записи использует класс EventHubSender для отправки событий в определенную секцию. Если ключ секции для выходных данных концентратора событий не соответствует шагу запроса вышестоящего (предыдущего) запроса, число записи совпадает с числом секций на предыдущем шаге. Каждый модуль записи использует класс SendBatchAsync в EventHubClient для отправки событий во все выходные секции.

Размер выходного пакета

Максимальный размер сообщения составляет 256 КБ или 1 МБ на сообщение. Дополнительные сведения см. в разделе "Ограничения Центров событий". Если секционирование входных и выходных данных не выравнивается, каждое событие упаковывается по отдельности EventData и отправляется в пакет до максимального размера сообщения. Это также происходит, если используются пользовательские свойства метаданных . При выравнивании секционирования входных и выходных данных несколько событий упаковываются в один EventData экземпляр до максимального размера сообщения и отправляются.

Настраиваемые свойства метаданных для выходных данных

Вы можете присоединить столбцы запросов в качестве свойств пользователя к исходящим сообщениям. Эти столбцы не попадают в полезные данные. Свойства присутствуют в виде словаря в выходном сообщении. Ключом является имя столбца и значение столбца в словаре свойств. Поддерживаются все типы данных Stream Analytics, кроме записей и массивов.

В следующем примере поля DeviceId и DeviceStatus добавляются в метаданные.

  1. Используйте следующий запрос:

    select *, DeviceId, DeviceStatus from iotHubInput
    
  2. Настройте DeviceId,DeviceStatus столбцы свойств в выходных данных.

    Столбцы свойств

На следующем рисунке представлены ожидаемые свойства выходных сообщений, проверенные в концентраторе событий с помощью Service Bus Explorer.

Настраиваемые свойства события

Точно один раз доставка

По умолчанию доставка поддерживается в выходных данных Центров событий. Независимо от входных данных Stream Analytics не гарантирует потери данных или никаких дубликатов в выходных данных Центров событий во время последнего выхода, инициируемых пользователем перезапусками, предотвращая создание дубликатов. Это значительно упрощает конвейер потоковой передачи, не отслеживая, реализуя и устраняя неполадки логики дедупликации.

Дальнейшие действия