Поделиться через


Выходные данные разделов служебной шины из Azure Stream Analytics

Очереди служебной шины предоставляют метод связи "один к одному" между отправителем и получателем. Разделы служебной шины предоставляют тип связи "один ко многим".

В таблице ниже приведены имена и описание свойств для создания выходных данных раздела служебной шины.

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

Количество разделов основано на размере и номере SKU служебной шины. Ключ раздела — это уникальное целое значение для каждого раздела.

Секционирование

Секционирование выбирается автоматически. Количество разделов основано на размере и номере SKU служебной шины. Ключ раздела — это уникальное целое значение для каждого раздела. Число модулей записи вывода совпадает с количеством секций в разделе выходных данных.

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

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

Свойства пользовательских метаданных для выходных данных

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

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

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

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

    Property columns

На следующем рисунке изображены ожидаемые свойства выходного сообщения, проверенные в EventHub с помощью обозревателя служебной шины.

Event custom properties

Свойства системы

Столбцы запросов можно присоединять как системные свойства к исходящим сообщениям очереди или раздела служебной шины. Эти столбцы не попадают в полезные данные, а соответствующее системное свойство ServiceBusMessage заполняется значениями столбца запроса. Эти системные свойства поддерживаются — MessageId, ContentType, Label, PartitionKey, ReplyTo, SessionId, CorrelationId, To, ForcePersistence, TimeToLive, ScheduledEnqueueTimeUtc.

Строковые значения этих столбцов анализируются как соответствующие типы значений системных свойств, а все ошибки синтаксического анализа обрабатываются как ошибки данных. Это поле предоставляется в формате объекта JSON. Далее приведены сведения об этом формате:

  • Используйте фигурные скобки {}.
  • Записываются в виде пар "ключ — значение".
  • Ключи и значения должны быть строковыми.
  • Ключ — это имя системного свойства, а значение — имя столбца запроса.
  • Ключи и значения разделяются двоеточием.
  • Каждая пара "ключ — значение" разделяется запятой.

В этом примере показано, как использовать это свойство —

  • Запрос: select *, column1, column2 INTO queueOutput FROM iotHubInput
  • Столбцы системных свойств: { "MessageId": "column1", "PartitionKey": "column2"}

Задает MessageId в сообщениях очереди служебной шины со значениями column1, а для PartitionKey задаются значения column2.

Следующие шаги