Лучшие методики при выборе идентификатора временного ряда

Примечание

Служба "Аналитика временных рядов" (TSI) больше не будет поддерживаться после марта 2025 г. Рассмотрите возможность переноса существующих сред TSI на альтернативные решения как можно скорее. Дополнительные сведения о прекращении поддержки и миграции см. в нашей документации.

В этой статье приведены сведения о важности идентификатора временного ряда для окружения 2-го поколения службы "Аналитика временных рядов Azure" и рекомендации по его выбору.

Выбор идентификатора временных рядов

Выбор соответствующего идентификатора временного ряда имеет решающее значение. Выбор идентификатора временного ряда подобен выбору ключа раздела для базы данных. Это необходимо при создании окружения 2-го поколения службы "Аналитика временных рядов Azure".

Просмотрите учебное видео по подготовке окружения, в котором предоставлено подробное описание идентификатора временного ряда. Вы увидите два разных примера полезных данных телеметрии JSON и правильный выбор идентификатора временных рядов для каждого из них.

Важно!

Идентификаторы временного ряда могут быть двух видов:

  • Строковое свойство с учетом регистра : буквы и символы используются при поиске, сравнениях, обновлениях и при секционированиях.
  • Неизменяемое свойство — после создания его нельзя изменить.

Совет

Если источником событий является Центр Интернета вещей, идентификатором временных рядов, скорее всего, будет iothub-connection-device-id. Если вы планируете использовать IoT Plug and Play модели устройств или используете их без компонентов, следует включить dt-subject в составной ключ, если он понадобится в будущем.

Ниже приведены основные рекомендации.

  • Выберите ключи раздела со множеством различных значений (например, сотни или тысячи). Во многих случаях это может быть идентификатор устройства, идентификатор датчика или идентификатор тега в JSON.
  • Идентификатор временного ряда должен быть уникальным на уровне листового узла вашей модели временных рядов.
  • Максимальное количество символов для строки имени свойства идентификатора временного ряда — 128. Для значения свойства идентификатора временного ряда максимальное количество составляет 1024 символа.
  • Если уникальное значение свойства для идентификатора временного ряда отсутствует, оно обрабатывается как значение NULL в соответствии с тем же правилом ограничения уникальности.
  • Если идентификатор временного ряда вложен в сложный объект JSON, необходимо следовать правилам преобразования входящего трафика при предоставлении имени свойства. Ознакомьтесь с примером B.
  • Кроме того, можно выбрать до трех ключевых свойств в качестве идентификатора временного ряда. Их сочетание будет составным ключом, представляющим идентификатор временного ряда.

    Примечание

    Ваши три ключевых свойства должны быть строками. Вам придется запрашивать этот составной ключ, а не одно свойство за раз.

Выбор нескольких свойств ключа

В приведенных ниже сценариях описан выбор нескольких свойств ключа в качестве вашего идентификатора временного ряда.

Пример 1. Идентификатор временного ряда с уникальным ключом

  • У вас есть устаревший парк ресурсов, у каждого из которых есть уникальный ключ.
  • Один парк однозначно идентифицируется свойством deviceId. Для другого парка уникальное свойство имеет значение objectId. Ни один парк не содержит уникальное свойство другого парка. В этом примере следует выбрать два ключа (deviceId и objectId) в качестве уникальных ключей.
  • Мы принимаем значения null, а отсутствие свойства в полезных данных события рассматривается как значение null. Это также подходящий способ отправки данных в два источника событий, в каждом из которых данные имеют уникальный идентификатор временного ряда.

Пример 2. Идентификатор временного ряда с составным ключом

  • Вам требуется,чтобы несколько свойств были уникальными в пределах одного парка ресурсов.
  • Вы являетесь строителем умных домов и развертываете датчики в каждой комнате. В каждой комнате для параметра sensorId, как правило, заданы одинаковые значения. Например sensor1, sensor2 и sensor3.
  • В доме перекрываются номера этажей и комнат на различных площадках в свойстве flrRm. Для этих номеров заданы такие значения, как 1a, 2b и 3a.
  • Наконец, у вас есть свойство location, содержащее такие значения, как Redmond, Barcelona и Tokyo. Чтобы обеспечить уникальность, необходимо назначить следующие три свойства ключей в качестве идентификатора временного ряда: sensorId, flrRm и location.

Пример необработанного события:

{
  "sensorId": "sensor1",
  "flrRm": "1a",
  "location": "Redmond",
  "temperature": 78
}

Затем на портале Azure можно ввести составной ключ следующим образом:

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

Примечание

На портале Azure не вводите имена свойств с разделителями-запятыми в одном текстовом поле. В противном случае оно будет рассматриваться как одно имя свойства, содержащее запятые. Введите имя каждого свойства в собственное текстовое поле.

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