Руководство. Отправка данных телеметрии активов в облако с помощью потока данных
В этом руководстве вы используете поток данных для пересылки сообщений из брокера 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 в созданный концентратор событий.
Чтобы создать поток данных, выполните следующие действия.
Перейдите к пользовательскому интерфейсу взаимодействия с операциями и найдите экземпляр. Затем выберите конечные точки потока данных и нажмите кнопку +Создать на плитке Центры событий Azure:
В конечной точке создания потока данных: Центры событий Azure введите целевой объект центров событий в качестве имени и обновите поле узла с адресом созданного пространства имен Центров событий. Нажмите кнопку "Применить":
Новая конечная точка потока данных создается и отображается в списке на странице конечных точек потока данных.
Выберите потоки данных и нажмите кнопку "Создать поток данных". Откроется <страница нового потока> данных:
В редакторе потока данных выберите "Выбрать источник". Затем выберите созданный ранее ресурс термостата и нажмите кнопку "Применить".
В редакторе потока данных выберите конечную точку потока данных. Затем выберите созданную ранее конечную точку концентраторов событий и нажмите кнопку "Применить".
На следующей странице введите destinationeh в качестве раздела. Этот раздел относится к концентратору, созданному в пространстве имен Центров событий. Выберите Применить. Поток данных теперь имеет ресурс термостата в качестве источника и концентратора в пространстве имен Центров событий в качестве назначения.
Чтобы добавить преобразование, нажмите кнопку Добавить преобразование (необязательно).
Чтобы переименовать
Tag 10
иtemperature
поля в входящего сообщения, нажмите кнопку +Добавить в плитку "Переименовать ".Добавьте следующие два преобразования переименования:
Точка данных Новое имя точки данных Тег 10.Value ТермостатУмия температура. Ценность ТермостатTemperature Чтобы скопировать идентификатор ресурса из метаданных сообщения, добавьте следующее преобразование переименования:
Точка данных Новое имя точки данных $metadata.user_property.externalAssetId AssetId Преобразование переименования выглядит следующим образом:
Выберите Применить.
Редактор потока данных теперь выглядит следующим образом:
Чтобы запустить поток данных, введите поток данных tutorial-dataflow в качестве его имени и нажмите кнопку "Сохранить". Через несколько минут состояние подготовки изменится на "Успешно". Поток данных теперь работает в кластере.
Поток данных подписывается на раздел MQTT для получения сообщений из ресурса термостата. Он переименовывает некоторые поля в сообщении и пересылает преобразованные сообщения в созданный концентратор событий.
Проверка потока данных
Чтобы убедиться, что данные перетекают в облако, можно просмотреть экземпляр Центров событий в портал Azure. Возможно, потребуется дождаться нескольких минут, пока поток данных начнется, и для отправки сообщений в концентратор событий.
Если сообщения отправляются в экземпляр, можно увидеть количество входящих сообщений на странице обзора экземпляра:
Если поток сообщений выполняется, вы можете использовать обозреватель данных для просмотра сообщений:
Совет
Возможно, вам потребуется назначить себя роли приемника данных Центры событий 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.
Примечание.
Группа ресурсов содержит пространство имен Центров событий, созданное в этом руководстве.
Следующий шаг
Руководство. Получение аналитических сведений из телеметрии ресурса