Сопоставление данных телеметрии входящего трафика с IoT Central

Сопоставление данных позволяет преобразовать сложные данные телеметрии устройств в структурированные данные в IoT Central. Для каждого устройства можно сопоставить определенный путь JSON в сообщении телеметрии устройства с псевдонимом. Псевдоним — это понятное имя целевого объекта, с который вы сопоставляете. IoT Central использует сопоставления для преобразования данных телеметрии на пути в IoT Central. Сопоставленную телеметрию можно использовать для следующих способов:

  • Создание шаблонов устройств и возможностей управления устройствами в IoT Central.
  • Нормализация данных телеметрии с разных устройств путем сопоставления путей JSON на нескольких устройствах с общим псевдонимом.
  • Экспорт в места назначения за пределами IoT Central.

Схема, на котором представлен процесс сопоставления в IoT Central.

В следующем видео показано, как выполнить сопоставление данных:

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

Сопоставление использует выражение JSONPath для идентификации значения во входящем сообщении телеметрии для сопоставления с псевдонимом.

Выражение JSONPath начинается с символа $ , который ссылается на корневой элемент сообщения. За $ ним следует последовательность дочерних элементов, разделенных квадратными скобками. Пример:

$["messages"]["tmp"]

$["opcua"]["payload"][0]["value"]

$["Messages"]["Payload"]["nsu=http://microsoft.com/Opc/OpcPlc/;s=FastUInt1"]["Value"]

IoT Central использует подмножество синтаксиса выражения JSONPath:

  • Каждый сегмент может быть только не отрицательным числом или строкой, заключенной в двойные кавычки.
  • Сегмент не может содержать обратную косую черту, квадратную скобку или двойные кавычки.
  • Путь JSON не может превышать 1000 символов.

Чтобы создать сопоставление в приложении IoT Central, выберите один из следующих параметров, чтобы перейти на панель Картирование данных :

  • На любой странице устройства выберите Управление данными карты устройств>:

    Снимок экрана: пункт меню **Карта данных**.

  • В представлении Необработанные данные для устройства разверните любое сообщение телеметрии, наведите указатель мыши на путь и выберите Добавить псевдоним. Откроется панель Данные карты с выражением JSONPath, скопированным в поле пути JSON :

    Снимок экрана: параметр **Добавить псевдоним** в представлении **Необработанные данные**.

В левой части панели Данные карты отображается последнее сообщение с вашего устройства. Наведите указатель мыши на любую часть данных и выберите Добавить псевдоним. Выражение JSONPath копируется в путь JSON. Добавьте имя псевдонима не более 64 символов. Псевдоним нельзя использовать для ссылки на поле в сложном объекте, определенном в шаблоне устройства.

Добавьте необходимое количество сопоставлений, а затем нажмите кнопку Сохранить:

Снимок экрана: представление **Данные карты** с путем и псевдонимом JSON.

Для данного устройства:

  • Два сопоставления не могут иметь одинаковый путь JSON.
  • Два сопоставления не могут иметь одинаковый псевдоним.

Совет

Возможно, потребуется подождать несколько минут, пока устройство не отправит сообщение телеметрии, которое будет отображаться на панели слева. Если на левой панели по-прежнему нет данных, можно вручную ввести выражение JSONPath в поле пути JSON .

Чтобы убедиться, что IoT Central сопоставляет данные телеметрии, перейдите в представление необработанных данных для устройства и проверка _mappeddata раздел:

Снимок экрана: раздел сопоставленных данных в сообщении в представлении **Необработанные данные**.

Если сопоставленные данные не отображаются после обновления необработанных данных несколько раз, проверка, что используемое выражение JSONPath соответствует структуре сообщения телеметрии.

Для IoT Edge устройств сопоставление данных применяется к телеметрии из всех модулей IoT Edge и концентратора. Вы не можете применять сопоставления к определенному модулю Azure IoT Edge.

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

Управление сопоставлениями

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

Снимок экрана: представление **Сопоставленные псевдонимы** с кнопками редактирования и удаления.

По умолчанию экспорт данных из IoT Central включает сопоставленные данные. Чтобы исключить сопоставленные данные, используйте преобразование данных при экспорте данных.

Сопоставление немоделированных данных телеметрии

Вы можете сопоставить немоделированные данные телеметрии, включая данные телеметрии из немоделированных компонентов. Например, учитывая workingSet телеметрию, определенную в корневом компоненте, и temperature телеметрию, определенную в компоненте термостата, показанном в следующем примере:

{
  "_unmodeleddata": {
    "workingSet": 74
  },
  "_eventtype": "Telemetry",
  "_timestamp": "2022-07-18T09:22:40.257Z"
}

{
  "_unmodeleddata": {
    "thermostat2": {
      "__t": "c",
      "temperature": 44
    }
  },
  "_eventtype": "Telemetry",
  "_timestamp": "2022-07-18T09:21:48.69Z"
}

Эту телеметрию можно сопоставить с помощью следующих определений сопоставления:

  • $["workingSet"] ws
  • $["temperature"] temp

Примечание

Не включайте имя компонента в определение сопоставления.

Результаты этих правил сопоставления выглядят как в следующих примерах:

{
  "telemetries": {
    "workingSet": 84,
    "_mappeddata": {
      "ws": 84
    }
  }
}

{
  "_unmodeleddata": {
    "thermostat2": {
      "__t": "c",
      "temperature": 12
    },
    "_mappeddata": {
      "thermostat2": {
        "__t": "c",
        "temp": 12
      }
    }
  },
  "_eventtype": "Telemetry",
  "_timestamp": "2022-07-18T09:31:21.088Z"
}

Теперь вы можете использовать сопоставленные псевдонимы для отображения данных телеметрии на диаграмме или панели мониторинга. Сопоставленные псевдонимы также можно использовать при экспорте данных телеметрии.

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

Теперь, когда вы узнали, как сопоставлять данные для устройства, рекомендуется узнать , как использовать обозреватель данных для анализа данных устройства.