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


Руководство. Отправка данных телеметрии активов в облако с помощью потока данных

В этом руководстве вы используете поток данных для пересылки сообщений из брокера MQTT в концентратор событий в службе Центры событий Azure. Концентратор событий может доставлять данные другим облачным службам для хранения и анализа. В следующем руководстве вы используете панель мониторинга в режиме реального времени для визуализации данных.

Необходимые компоненты

Перед началом работы с этим руководством необходимо выполнить руководство . Добавление ресурсов OPC UA в кластер операций Интернета вещей Azure.

Какая проблема будет решена?

Чтобы использовать средство, например панель мониторинга реального времени для анализа данных OPC UA, необходимо отправить данные в облачную службу, например Центры событий Azure. Поток данных может подписаться на раздел MQTT и перенаправить сообщения в концентратор событий в Центры событий Azure пространстве имен. В следующем руководстве показано, как использовать панели мониторинга реального времени для визуализации и анализа данных.

Настройка переменных среды

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

# The name of the resource group where your Kubernetes cluster is deployed
RESOURCE_GROUP=<resource-group-name>

# The name of your Kubernetes cluster
CLUSTER_NAME=<kubernetes-cluster-name>

Создание пространства имен в Центрах событий Azure

Чтобы создать пространство имен Центров событий и концентратор событий, выполните следующие команды Azure CLI в оболочке. Эти команды создают пространство имен Центров событий в той же группе ресурсов, что и кластер Kubernetes:

az eventhubs namespace create --name ${CLUSTER_NAME:0:24} --resource-group $RESOURCE_GROUP --disable-local-auth false

az eventhubs eventhub create --name destinationeh --resource-group $RESOURCE_GROUP --namespace-name ${CLUSTER_NAME:0:24} --retention-time 1 --partition-count 1 --cleanup-policy Delete

Чтобы предоставить расширение Операций Интернета вещей Azure в кластере к пространству имен Центров событий, выполните следующие команды Azure CLI:

EVENTHUBRESOURCE=$(az eventhubs namespace show --resource-group $RESOURCE_GROUP --namespace-name ${CLUSTER_NAME:0:24} --query id -o tsv)

PRINCIPAL=$(az k8s-extension list --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --cluster-type connectedClusters -o tsv --query "[?extensionType=='microsoft.iotoperations'].identity.principalId")

az role assignment create --role "Azure Event Hubs Data Sender" --assignee $PRINCIPAL --scope $EVENTHUBRESOURCE

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

Используйте пользовательский интерфейс взаимодействия с операциями для создания и настройки потока данных в кластере, который:

  • Переименовывает Tag 10 поле в входящее сообщение Humidity.
  • Переименовывает temperature поле в входящее сообщение Temperature.
  • Добавляет поле AssetId , содержащее имя ресурса.
  • Перенаправит преобразованные сообщения из раздела MQTT в созданный концентратор событий.

Чтобы создать поток данных, выполните следующие действия.

  1. Перейдите к пользовательскому интерфейсу взаимодействия с операциями и найдите экземпляр. Затем выберите конечные точки потока данных и нажмите кнопку +Создать на плитке Центры событий Azure:

    Снимок экрана: страница конечных точек потока данных.

  2. В конечной точке создания потока данных: Центры событий Azure введите целевой объект центров событий в качестве имени и обновите поле узла с адресом созданного пространства имен Центров событий. Нажмите кнопку "Применить":

    Снимок экрана: страница

    Новая конечная точка потока данных создается и отображается в списке на странице конечных точек потока данных.

  3. Выберите потоки данных и нажмите кнопку "Создать поток данных". Откроется <страница нового потока> данных:

    Снимок экрана: страница потоков данных.

  4. В редакторе потока данных выберите "Выбрать источник". Затем выберите созданный ранее ресурс термостата и нажмите кнопку "Применить".

  5. В редакторе потока данных выберите конечную точку потока данных. Затем выберите созданную ранее конечную точку концентраторов событий и нажмите кнопку "Применить".

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

  7. Чтобы добавить преобразование, нажмите кнопку Добавить преобразование (необязательно).

  8. Чтобы переименовать Tag 10 и temperature поля в входящего сообщения, нажмите кнопку +Добавить в плитку "Переименовать ".

  9. Добавьте следующие два преобразования переименования:

    Точка данных Новое имя точки данных
    Тег 10.Value ТермостатУмия
    температура. Ценность ТермостатTemperature
  10. Чтобы скопировать идентификатор ресурса из метаданных сообщения, добавьте следующее преобразование переименования:

    Точка данных Новое имя точки данных
    $metadata.user_property.externalAssetId AssetId

    Преобразование переименования выглядит следующим образом:

    Снимок экрана: преобразование переименования.

    Выберите Применить.

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

    Снимок экрана: завершенный поток данных.

  12. Чтобы запустить поток данных, введите поток данных tutorial-dataflow в качестве его имени и нажмите кнопку "Сохранить". Через несколько минут состояние подготовки изменится на "Успешно". Поток данных теперь работает в кластере.

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

Проверка потока данных

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

Если сообщения отправляются в экземпляр, можно увидеть количество входящих сообщений на странице обзора экземпляра:

Снимок экрана: страница обзора экземпляра Центров событий с входящими сообщениями.

Если поток сообщений выполняется, вы можете использовать обозреватель данных для просмотра сообщений:

Снимок экрана: страница экземпляра Центров событий ***Data Explorer** .

Совет

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

Как мы решили проблему?

В этом руководстве вы использовали поток данных для подключения раздела MQTT к концентратору событий в пространстве имен Центры событий Azure. В следующем руководстве вы используете Аналитику в режиме реального времени Microsoft Fabric для визуализации данных.

Очистка ресурсов

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

Если вы хотите удалить развертывание Операций Интернета вещей Azure, но сохранить кластер, используйте команду az iot ops delete :

az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP

Если вы хотите удалить все ресурсы, созданные для этого краткого руководства, удалите кластер Kubernetes, где вы развернули операции Интернета вещей Azure, а затем удалите группу ресурсов Azure, содержащую кластер.

Если вы использовали пространства кода для этих кратких руководств, удалите пространство Codespace из GitHub.

Примечание.

Группа ресурсов содержит пространство имен Центров событий, созданное в этом руководстве.

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

Руководство. Получение аналитических сведений из телеметрии ресурса