Отправка данных в azure Data Обозреватель из конвейера предварительной версии обработчика данных Интернета вещей Azure
Внимание
Предварительная версия операций Интернета вещей Azure, включенная Azure Arc в настоящее время находится в предварительной версии. Не следует использовать это программное обеспечение предварительной версии в рабочих средах.
Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.
Используйте назначение Azure Data Обозреватель для записи данных в таблицу в Обозреватель данных Azure из конвейера предварительной версии обработчика данных Интернета вещей Azure. Конечный этап пакетирует сообщения перед отправкой их в Обозреватель данных Azure.
Необходимые компоненты
Чтобы настроить и использовать этап целевого конвейера Обозреватель данных Azure, вам потребуется:
- Развернутый экземпляр обработчика данных.
- Кластер Обозреватель данных Azure.
- База данных в кластере Обозреватель данных Azure.
Настройка Обозреватель данных Azure
Прежде чем записывать данные в Azure Обозреватель из конвейера данных, необходимо предоставить доступ к базе данных из конвейера. Для проверки подлинности конвейера в базе данных можно использовать субъект-службу или управляемое удостоверение. Преимущество использования управляемого удостоверения заключается в том, что вам не нужно управлять жизненным циклом субъекта-службы. Управляемое удостоверение автоматически управляется Azure и привязано к жизненному циклу назначенного ресурса.
Чтобы создать субъект-службу с секретом клиента, выполните приведенные действия.
Чтобы создать субъект-службу, используйте следующую команду Azure CLI.
az ad sp create-for-rbac --name <YOUR_SP_NAME>
Выходные данные этой команды включают
appId
,displayName
password
иtenant
. Запишите эти значения для использования при настройке доступа к облачному ресурсу, например Microsoft Fabric, созданию секрета и настройке назначения конвейера:{ "appId": "<app-id>", "displayName": "<name>", "password": "<client-secret>", "tenant": "<tenant-id>" }
Чтобы предоставить администратору доступ к базе данных Azure Обозреватель, выполните следующую команду на вкладке запроса базы данных:
.add database <DatabaseName> admins (<ApplicationId>) <Notes>
Для подключения к azure Data Обозреватель целевой стадии требуется доступ к секрету, содержаму сведения о проверке подлинности. Чтобы создать секрет:
Используйте следующую команду, чтобы добавить секрет в Azure Key Vault, содержащий секрет клиента, который вы заметили при создании субъекта-службы:
az keyvault secret set --vault-name <your-key-vault-name> --name AccessADXSecret --value <client-secret>
Добавьте ссылку на секрет в кластер Kubernetes, выполнив действия по управлению секретами для развертывания Azure IoT Operations Preview.
Пакетная обработка
Обработчик данных записывает данные в Обозреватель Azure в пакетах. Пока вы пакетируете данные в обработчике данных перед отправкой, служба "Данные Azure" Обозреватель имеет собственную политику пакетного приема по умолчанию. Поэтому данные в Azure Обозреватель могут не отображаться сразу после записи данных в назначение Обозреватель данных Azure.
Чтобы просмотреть данные в Azure Data Обозреватель сразу после отправки конвейера, можно задать для счетчика 1
политики пакетного приема. Чтобы изменить политику пакетного приема, выполните следующую команду на вкладке запроса базы данных:
.alter database <your-database-name> policy ingestionbatching
```
{
"MaximumBatchingTimeSpan" : "00:00:30",
"MaximumNumberOfItems" : 1,
"MaximumRawDataSizeMB": 1024
}
```
Настройка конечного этапа
Конфигурация JSON для конечного этапа данных Azure Обозреватель определяет сведения о стадии. Чтобы создать этап, вы можете взаимодействовать с пользовательским интерфейсом на основе форм или предоставить конфигурацию JSON на вкладке "Дополнительно ":
Поле | Тип | Описание | Обязательное поле | По умолчанию. | Пример |
---|---|---|---|---|---|
Показать имя | Строка | Имя, отображаемое в пользовательском интерфейсе обработчика данных. | Да | - | Azure IoT MQ output |
Description | Строка | Понятное описание того, что делает этап. | No | Write to topic default/topic1 |
|
URL-адрес кластера | Строка | URI (это значение не является универсальным кодом ресурса (URI приема данных). | Да | - | |
База данных | Строка | Имя базы данных. | Да | - | |
Таблица | Строка | Имя таблицы для записи. | Да | - | |
Пакетная служба Azure | Пакетная обработка | Как пакетировать данные. | No | 60s |
10s |
Повторить попытку | Повторить | Политика повторных попыток, используемая. | No | default |
fixed |
Проверка подлинности1 | Строка | Сведения о проверке подлинности для подключения к Обозреватель данных Azure. Service principal или Managed identity |
Субъект-служба | Да | - |
Имя столбцов > | строка | Имя столбца. | Да | temperature |
|
Путь к столбцам > | Путь | Расположение в каждой записи данных, из которых должно считываться значение столбца. | No | .{{name}} |
.temperature |
1Проверка подлинности. В настоящее время целевой этап поддерживает проверку подлинности на основе субъекта-службы или управляемое удостоверение при подключении к данным Azure Обозреватель.
Чтобы настроить проверку подлинности на основе субъекта-службы, укажите следующие значения. Вы запишите эти значения при создании субъекта-службы и добавили в кластер ссылку на секрет.
Поле | Description | Обязательное поле |
---|---|---|
TenantId | Идентификатор клиента. | Да |
ClientId | Идентификатор приложения, который вы заметили при создании субъекта-службы, имеющего доступ к базе данных. | Да |
Секретный | Ссылка на секрет, созданная в кластере. | Да |
Пример конфигурации
В следующем примере JSON показана полная конфигурация конечного этапа данных Azure Обозреватель, которая записывает все сообщение quickstart
в таблицу в базе данных:
{
"displayName": "Azure data explorer - 71c308",
"type": "output/dataexplorer@v1",
"viewOptions": {
"position": {
"x": 0,
"y": 784
}
},
"clusterUrl": "https://clusterurl.region.kusto.windows.net",
"database": "databaseName",
"table": "quickstart",
"authentication": {
"type": "servicePrincipal",
"tenantId": "tenantId",
"clientId": "clientId",
"clientSecret": "secretReference"
},
"batch": {
"time": "5s",
"path": ".payload"
},
"columns": [
{
"name": "Timestamp",
"path": ".Timestamp"
},
{
"name": "AssetName",
"path": ".assetName"
},
{
"name": "Customer",
"path": ".Customer"
},
{
"name": "Batch",
"path": ".Batch"
},
{
"name": "CurrentTemperature",
"path": ".CurrentTemperature"
},
{
"name": "LastKnownTemperature",
"path": ".LastKnownTemperature"
},
{
"name": "Pressure",
"path": ".Pressure"
},
{
"name": "IsSpare",
"path": ".IsSpare"
}
],
"retry": {
"type": "fixed",
"interval": "20s",
"maxRetries": 4
}
}
Конфигурация определяет следующее:
- Сообщения пакетируются в течение 5 секунд.
- Использует пакетный путь
.payload
для поиска данных для столбцов.
Пример
В следующем примере показан пример входного сообщения на этапе назначения azure Data Обозреватель:
{
"payload": {
"Batch": 102,
"CurrentTemperature": 7109,
"Customer": "Contoso",
"Equipment": "Boiler",
"IsSpare": true,
"LastKnownTemperature": 7109,
"Location": "Seattle",
"Pressure": 7109,
"Timestamp": "2023-08-10T00:54:58.6572007Z",
"assetName": "oven"
},
"qos": 0,
"systemProperties": {
"partitionId": 0,
"partitionKey": "quickstart",
"timestamp": "2023-11-06T23:42:51.004Z"
},
"topic": "quickstart"
}