Краткое руководство: экспорт данных из приложения IoT Central
В этом кратком руководстве описана настройка приложения IoT Central для экспорта данных Azure Data Обозреватель. Azure Data Explorer позволяет хранить, запрашивать и обрабатывать данные телеметрии с устройств, таких как смартфон с приложением IoT Plug and Play.
В этом кратком руководстве вы:
- Используйте функцию экспорта данных в IoT Central для телеметрии из приложения смартфона в базу данных Azure Data Обозреватель.
- Использование Azure Data Explorer для выполнения запросов к данным телеметрии.
Выполнение этого краткого руководства повлечет за собой небольшую стоимость в учетной записи Azure для экземпляра Обозреватель данных Azure. Первые два устройства в приложении IoT Central бесплатны.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Выполните первое краткое руководство по созданию приложения Azure IoT Central. Второе краткое руководство Настройка правил и действий для устройства является необязательным.
- Вам нужен префикс URL-адреса приложения IoT Central, выбранный в первом кратком руководстве по созданию приложения Azure IoT Central.
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Установка служб Azure
Для экспорта данных из приложения IoT Central вам потребуется кластер и база данных Azure Data Explorer. В этом кратком руководстве вы запускаете скрипт bash в Azure Cloud Shell для создания и настройки.
Этот скрипт выполняет перечисленные ниже действия.
- Запрашивает вход в подписку Azure, чтобы он смог создать маркер носителя для проверки подлинности вызовов REST API.
- Создает кластер и базу данных azure Data Обозреватель.
- Создает управляемое удостоверение для приложения IoT Central.
- Настраивает управляемое удостоверение с разрешением на доступ к базе данных Azure Обозреватель.
- Добавляет таблицу в базу данных для хранения входящих данных телеметрии из IoT Central.
Выполните следующие команды, чтобы скачать скрипт в среду Azure Cloud Shell:
wget https://raw.githubusercontent.com/Azure-Samples/iot-central-docs-samples/main/quickstart-cde/createADX.sh
chmod u+x createADX.sh
Выполните следующую команду, чтобы запустить скрипт.
- Замените
CLUSTER_NAME
уникальным именем кластера azure Data Обозреватель. Имя кластера может содержать только строчные буквы и цифры. Длина имени кластера должна составлять от 4 до 22 символов. - Замените
CENTRAL_URL_PREFIX
префикс URL-адреса, выбранный в первом кратком руководстве для приложения IoT Central. - При появлении запроса следуйте инструкциям для входа в учетную запись. Для входа в скрипт необходимо выполнить вход, так как он создает маркер носителя для проверки подлинности вызова REST API.
./createADX.sh CLUSTER_NAME CENTRAL_URL_PREFIX
Внимание
Этот скрипт может занять от 20 до 30 минут.
Запишите выходные данные azure data Обозреватель URL-адрес скриптом. Это значение понадобится позже в рамках этого краткого руководства.
Настройка экспорта данных
Чтобы настроить место назначения экспорта данных из IoT Central, сделайте следующее:
- Перейдите на страницу Экспорт данных в приложении IoT Central.
- Откройте вкладку Назначения и выберите Добавить назначение.
- В качестве имени места назначения введите Azure Data Explorer. В качестве типа места назначения выберите Azure Data Explorer.
- В поле URL-адрес кластера введите URL-адрес Azure Data Explorer, который вы записали ранее.
- В поле Имя базы данных введите phonedata.
- В окне Имя таблицы введите acceleration.
- В авторизации выберите управляемое удостоверение, назначаемое системой.
- Выберите Сохранить.
Чтобы настроить экспорт данных, сделайте следующее:
На странице Экспорт данных откройте вкладку Операции экспорта и выберите Добавить экспорт.
В качестве имени экспорта введите Phone accelerometer.
В качестве типа данных для экспорта выберите Данные телеметрии.
Добавьте два фильтра, используя сведения из следующей таблицы:
Имя. Оператор Значение Шаблон устройства Равно IoT Plug and Play mobile Sensors/Acceleration/X Exists Н/П Убедитесь, что, если все условия имеют значение true, выбран параметр экспорта данных.
Добавьте в качестве места назначения Azure Data Explorer.
Добавьте преобразование данных к назначению. Добавьте в поле 2. Build transformation query (2. Создайте запрос на преобразование) на странице Преобразование данных следующий запрос:
import "iotc" as iotc; { Device: .device.id, EnqueuedTime: .enqueuedTime, X: .telemetry | iotc::find(.name == "accelerometer").value.x, Y: .telemetry | iotc::find(.name == "accelerometer").value.y, Z: .telemetry | iotc::find(.name == "accelerometer").value.z }
Чтобы узнать, как выполняется преобразование и экспериментировать с запросом, вставьте в 1 следующий пример сообщения телеметрии. Добавьте входное сообщение:
{ "messageProperties": {}, "device": { "id": "8hltz8xa7n", "properties": { "reported": [] }, "approved": true, "types": [], "name": "8hltz8xa7n", "simulated": false, "provisioned": true, "modules": [], "templateId": "urn:modelDefinition:vlcd3zvzdm:y425jkkpqzeu", "templateName": "IoT Plug and Play mobile", "organizations": [], "cloudProperties": [], "blocked": false }, "component": "sensors", "applicationId": "00001111-aaaa-2222-bbbb-3333cccc4444", "messageSource": "telemetry", "telemetry": [ { "id": "dtmi:azureiot:PhoneSensors:__accelerometer;1", "name": "accelerometer", "value": { "x": 0.09960123896598816, "y": 0.09541380405426025, "z": 9.907781600952148 } } ], "enqueuedTime": "2021-11-12T10:01:30.588Z", "enrichments": {} }
Сохраните преобразование. Затем сохраните определение экспорта данных.
Подождите, пока для экспорта отобразится состояние Healthy (Работоспособное):
Запросы к экспортированным данным
Чтобы запросить экспортированные данные телеметрии, выполните следующие действия.
Используйте выходные данные URL-адреса данных Azure Обозреватель скриптом, который вы выполнили ранее, чтобы перейти в среду Обозреватель данных Azure.
Разверните узел кластера и выберите базу данных phonedata. Область окна запроса изменяется
Scope:yourclustername.eastus/phonedata
.В Azure Data Explorer откройте новую вкладку и вставьте следующий запрос Kusto, а затем нажмите кнопку Выполнить, чтобы построить график телеметрии с акселерометра:
['acceleration']
| project EnqueuedTime, Device, X, Y, Z
| render timechart
Возможно, потребуется подождать несколько минут, чтобы собрать достаточно данных. Чтобы просмотреть изменения значений телеметрии, попробуйте сохранить телефон в разных ориентациях:
Очистка ресурсов
Если в дальнейшем вы не планируете работать с краткими руководствами и другими учебными материалами по IoT Central, можно удалить приложение IoT Central:
- В приложении IoT Central перейдите к управлению приложениями>.
- Щелкните элемент Удалить и подтвердите свое действие.
Чтобы удалить экземпляр Azure Data Обозреватель из подписки и избежать необходимости выставления счетов, удалите группу ресурсов IoTCentralExportData-rg из портал Azure или выполните следующую команду в Azure Cloud Shell:
az group delete --name IoTCentralExportData-rg
Следующий шаг
В этом кратком руководстве вы узнали, как настроить непрерывный экспорт данных из IoT Central в другую службу Azure.
Теперь, когда вы знаете, как экспортировать данные, рекомендуется выполнить такой следующий шаг: