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


Отправка данных в azure Data Обозреватель из конвейера предварительной версии обработчика данных Интернета вещей Azure

Внимание

Предварительная версия операций Интернета вещей Azure, включенная Azure Arc в настоящее время находится в предварительной версии. Не следует использовать это программное обеспечение предварительной версии в рабочих средах.

Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.

Используйте назначение Azure Data Обозреватель для записи данных в таблицу в Обозреватель данных Azure из конвейера предварительной версии обработчика данных Интернета вещей Azure. Конечный этап пакетирует сообщения перед отправкой их в Обозреватель данных Azure.

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

Чтобы настроить и использовать этап целевого конвейера Обозреватель данных Azure, вам потребуется:

  • Развернутый экземпляр обработчика данных.
  • Кластер Обозреватель данных Azure.
  • База данных в кластере Обозреватель данных Azure.

Настройка Обозреватель данных Azure

Прежде чем записывать данные в Azure Обозреватель из конвейера данных, необходимо предоставить доступ к базе данных из конвейера. Для проверки подлинности конвейера в базе данных можно использовать субъект-службу или управляемое удостоверение. Преимущество использования управляемого удостоверения заключается в том, что вам не нужно управлять жизненным циклом субъекта-службы. Управляемое удостоверение автоматически управляется Azure и привязано к жизненному циклу назначенного ресурса.

Чтобы создать субъект-службу с секретом клиента, выполните приведенные действия.

  1. Чтобы создать субъект-службу, используйте следующую команду Azure CLI.

    az ad sp create-for-rbac --name <YOUR_SP_NAME> 
    
  2. Выходные данные этой команды включают appId, displayNamepasswordи tenant. Запишите эти значения для использования при настройке доступа к облачному ресурсу, например Microsoft Fabric, созданию секрета и настройке назначения конвейера:

    {
        "appId": "<app-id>",
        "displayName": "<name>",
        "password": "<client-secret>",
        "tenant": "<tenant-id>"
    }
    

Чтобы предоставить администратору доступ к базе данных Azure Обозреватель, выполните следующую команду на вкладке запроса базы данных:

.add database <DatabaseName> admins (<ApplicationId>) <Notes>

Для подключения к azure Data Обозреватель целевой стадии требуется доступ к секрету, содержаму сведения о проверке подлинности. Чтобы создать секрет:

  1. Используйте следующую команду, чтобы добавить секрет в Azure Key Vault, содержащий секрет клиента, который вы заметили при создании субъекта-службы:

    az keyvault secret set --vault-name <your-key-vault-name> --name AccessADXSecret --value <client-secret>
    
  2. Добавьте ссылку на секрет в кластер 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"
}