Прочитать на английском

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


Обогащение сообщений для передачи данных с устройств в облако через центр Интернета вещей

Обогащения сообщений — это возможность IoT-хаба помечать сообщения дополнительными сведениями перед отправкой в назначенную конечную точку. Одной из причин для использования обогащений сообщений является включение данных, с помощью которых можно упростить последующую обработку. Например, обогащение сообщений телеметрии устройства тегом двойника может снизить нагрузку на клиентов, вызванную вызовами API двойника для получения этой информации.

Поток обогащения сообщений

Обогащение сообщения содержит три ключевых элемента:

  • Имя или ключ обогащения

  • Значение

  • Одна или несколько конечных точек , для которых необходимо применить обогащение.

Ключ является строкой. Ключ может содержать только буквенно-цифровые символы или эти специальные символы: дефис (-), подчеркивание (_) и период (.).

Значение может быть любым из следующих примеров:

  • Любая статическая строка. Динамические значения, такие как условия, логика, операции и функции, не допускаются. Например, если вы разрабатываете приложение SaaS, используемое несколькими клиентами, можно назначить идентификатор каждому клиенту и сделать его доступным в приложении. При запуске приложения центр Интернета вещей будет помечать сообщения телеметрии устройства идентификатором клиента, что позволит обрабатывать сообщения для каждого клиента по-разному.

  • Имя Центра Интернета вещей, отправляющего сообщение. Это значение $iothubname.

  • Сведения из двойника устройства, например его путь. Примерами будут $twin.tags.field и $twin.tags.latitude.

    Примечание

    В настоящее время поддерживаются только переменные $iothubname, $twin.tags, $twin.properties.desired и $twin.properties.reported для обогащения сообщений. Кроме того, для обогащения поддерживаются только примитивные типы. Сообщения не могут быть обогащены типами объектов.

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

Применение обогащений

Сообщения могут поступать из любого источника данных, поддерживаемого маршрутизацией сообщений Центра Интернета вещей, включая следующие примеры:

  • данные телеметрии устройства, такие как температура или давление
  • Уведомления об изменении двойника устройства — изменения в двойнике устройства
  • События жизненного цикла устройства, например при создании или удалении устройства

Вы можете добавить улучшения к сообщениям, которые отправляются во встроенную конечную точку Центра Интернета вещей, или к сообщениям, которые направляются в пользовательские конечные точки, такие как хранилище BLOB-объектов Azure, очередь служебной шины или тема служебной шины.

Вы также можете добавить обогащения в сообщения, которые публикуются в Event Grid, сначала создав подписку с типом сообщений телеметрии устройства. На основе этой подписки мы создадим маршрут по умолчанию в Центре Интернета вещей Azure для телеметрии. Этот маршрут может обрабатывать все ваши подписки на Event Grid. Затем можно настроить обогащения для конечной точки с помощью вкладки Обогащение сообщений в разделе маршрутизации сообщений центра Интернета вещей. Сведения об реагировании на события с помощью сетки событий см. в Центре Интернета вещей и сетке событий.

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

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

Метод Команда
Портал Портал Azure Ознакомьтесь с руководством по обогащению сообщений
Azure CLI (Интерфейс командной строки для Azure) az iot hub: обогащение сообщений
Azure PowerShell Add-AzIotHubMessageEnrichment

Добавление обогащений в сообщения не добавляет задержки в маршрутизации сообщений.

Сведения о обогащении сообщений см. в руководстве по обогащению сообщений

Ограничения

  • Вы можете добавить до 10 обогащений на центр Интернета вещей для этих центров в стандартном или базовом уровне. Для центров Интернета вещей на бесплатном уровне можно добавить до 2 обогащений.

  • В некоторых случаях, если вы обогащаете сообщение значением, установленным для тега или свойства в двойнике устройства, это значение будет обозначено указанным путем из двойника устройства. Например, если для значения обогащения задано значение $twin.tags.field, сообщения будут помечены строкой "$twin.tags.field", а не значением этого поля из двойника. Это поведение происходит в следующих случаях:

    • Центр Интернета вещей находится на базовом уровне. Центры Интернета вещей уровня "Базовый" не поддерживают двойники устройств.

    • Ваш центр Интернета вещей на стандартном уровне, но путь к двойнику устройства, используемый для вычисления обогащения, не существует. Например, если в качестве значения обогащения указано $twin.tags.location, а двойник не имеет свойства location в тегах, то сообщение помечено строкой "$twin.tags.location".

    • Ваш IoT-хаб находится на стандартном уровне, но путь двойника устройства, используемый для значения обогащения, разрешается в объект, а не простое свойство. Например, если для значения обогащения задано значение $twin.tags.location, а свойство расположения под тегами — это объект, содержащий дочерние свойства, например {"building": 43, "room": 503}, сообщение помечено строкой "$twin.tags.location".

  • Обновление двойника устройства займёт до пяти минут, чтобы изменения отразились в соответствующем значении обогащения.

  • Общий размер сообщения, включая обогащения, не может превышать 256 КБ. Если размер сообщения превышает 256 КБ, центр Интернета вещей удаляет сообщение. Метрики Центра Интернета Вещей можно использовать для выявления и устранения ошибок при потере сообщений. Например, можно отслеживать несовместимые сообщения телеметрии (d2c.telemetry.egress.invalid) в метриках маршрутизации. Дополнительные сведения см. в статье Мониторинг Центра Интернета вещей.

  • Обогащения сообщений не применяются к событиям изменения цифровых двойников.

  • Модули не наследуют теги двойников от соответствующих устройств. Обогащения сообщений, поступающих из модулей устройств (например, из модулей IoT Edge), должны использовать теги двойников, заданные в двойнике модуля.

Ценообразование

Обогащения сообщений доступны без дополнительной платы. В настоящее время плата взимается при отправке сообщения в Центр Интернета вещей. Плата взимается только один раз за это сообщение, даже если оно отправляется на разные конечные точки.

Дальнейшие шаги

Дополнительные сведения о маршрутизации сообщений в Центр Интернета вещей см. в следующих статьях:


Дополнительные ресурсы

Обучение

Модуль

Data enrichment in Dynamics 365 Customer Insights - Data - Training

Microsoft Dynamics 365 Customer Insights - Data enrichment options allow organizations to merge data from other authoritative data sources with Microsoft customer data. This feature allows your organization to take more informed and targeted approaches toward nurturing customers and marketing to them.