Mengirim data ke Azure Data Explorer dari alur Pratinjau Prosesor Data Azure IoT

Penting

Pratinjau Operasi Azure IoT – diaktifkan oleh Azure Arc saat ini dalam PRATINJAU. Anda tidak boleh menggunakan perangkat lunak pratinjau ini di lingkungan produksi.

Lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure untuk persyaratan hukum yang berlaku pada fitur Azure dalam versi beta, pratinjau, atau belum dirilis secara umum.

Gunakan tujuan Azure Data Explorer untuk menulis data ke tabel di Azure Data Explorer dari alur Pratinjau Prosesor Data Azure IoT. Tahap tujuan membuat batch pesan sebelum mengirimkannya ke Azure Data Explorer.

Prasyarat

Untuk mengonfigurasi dan menggunakan tahap alur tujuan Azure Data Explorer, Anda memerlukan:

  • Instans Pemroses Data yang disebarkan.
  • Kluster Azure Data Explorer.
  • Database di kluster Azure Data Explorer Anda.

Menyiapkan Azure Data Explorer

Sebelum dapat menulis ke Azure Data Explorer dari alur data, Anda perlu memberikan akses ke database dari alur. Anda dapat menggunakan perwakilan layanan atau identitas terkelola untuk mengautentikasi alur ke database. Keuntungan menggunakan identitas terkelola adalah Anda tidak perlu mengelola siklus hidup perwakilan layanan. Identitas terkelola dikelola secara otomatis oleh Azure dan terkait dengan siklus hidup sumber daya yang ditetapkannya.

Untuk membuat perwakilan layanan dengan rahasia klien:

  1. Gunakan perintah Azure CLI berikut untuk membuat perwakilan layanan.

    az ad sp create-for-rbac --name <YOUR_SP_NAME> 
    
  2. Output dari perintah ini mencakup appId, , displayName, passworddan tenant. Catat nilai-nilai ini untuk digunakan saat Anda mengonfigurasi akses ke sumber daya cloud Anda seperti Microsoft Fabric, membuat rahasia, dan mengonfigurasi tujuan alur:

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

Untuk memberikan akses admin ke database Azure Data Explorer Anda, jalankan perintah berikut ini di tab kueri database Anda:

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

Agar tahap tujuan tersambung ke Azure Data Explorer, perlu akses ke rahasia yang berisi detail autentikasi. Untuk membuat rahasia:

  1. Gunakan perintah berikut untuk menambahkan rahasia ke Azure Key Vault yang berisi rahasia klien yang Anda catat saat membuat perwakilan layanan:

    az keyvault secret set --vault-name <your-key-vault-name> --name AccessADXSecret --value <client-secret>
    
  2. Tambahkan referensi rahasia ke kluster Kubernetes Anda dengan mengikuti langkah-langkah dalam Mengelola rahasia untuk penyebaran Pratinjau Operasi Azure IoT Anda.

Pembuatan batch

Prosesor Data menulis ke Azure Data Explorer dalam batch. Saat Anda membuat batch data dalam prosesor data sebelum mengirimkannya, Azure Data Explorer memiliki kebijakan batching penyerapan defaultnya sendiri. Oleh karena itu, Anda mungkin tidak melihat data Anda di Azure Data Explorer segera setelah Pemroses Data menulisnya ke tujuan Azure Data Explorer.

Untuk melihat data di Azure Data Explorer segera setelah alur mengirimkannya, Anda dapat mengatur jumlah kebijakan batching penyerapan ke 1. Untuk mengedit kebijakan batching penyerapan, jalankan perintah berikut ini di tab kueri database Anda:

.alter database <your-database-name> policy ingestionbatching
```
{
    "MaximumBatchingTimeSpan" : "00:00:30",
    "MaximumNumberOfItems" : 1,
    "MaximumRawDataSizeMB": 1024
}
```

Mengonfigurasi tahap tujuan

Konfigurasi JSON tahap tujuan Azure Data Explorer menentukan detail tahapan. Untuk menulis tahapan, Anda dapat berinteraksi dengan UI berbasis formulir, atau menyediakan konfigurasi JSON pada tab Tingkat Lanjut :

Bidang Jenis Deskripsi Wajib diisi Default Contoh
Nama tampilan String Nama yang akan ditampilkan di UI Pemroses Data. Ya - Azure IoT MQ output
Deskripsi String Deskripsi yang mudah digunakan tentang apa yang dilakukan panggung. No Write to topic default/topic1
URL Kluster String URI (Nilai ini bukan URI penyerapan data). Ya -
Database String Nama database. Ya -
Tabel String Nama tabel yang akan ditulis. Ya -
Batch Batch Cara membuat batch data. No 60s 10s
Coba lagi Coba lagi Kebijakan coba lagi untuk digunakan. No default fixed
Autentikasi1 String Detail autentikasi untuk menyambungkan ke Azure Data Explorer. Service principal atau Managed identity Perwakilan layanan Ya -
> Nama Kolom string Nama kolom. Ya temperature
> Jalur Kolom Jalur Lokasi dalam setiap rekaman data tempat nilai kolom harus dibaca. No .{{name}} .temperature

1Autentikasi: Saat ini, tahap tujuan mendukung autentikasi berbasis perwakilan layanan atau identitas terkelola saat tersambung ke Azure Data Explorer.

Untuk mengonfigurasi autentikasi berbasis perwakilan layanan, berikan nilai berikut. Anda membuat catatan nilai-nilai ini saat membuat perwakilan layanan dan menambahkan referensi rahasia ke kluster Anda.

Bidang Deskripsi Wajib diisi
TenantId ID penyewa. Ya
ClientId ID aplikasi yang Anda catat saat membuat perwakilan layanan yang memiliki akses ke database. Ya
Rahasia Referensi rahasia yang Anda buat di kluster Anda. Ya

Konfigurasi sampel

Contoh JSON berikut menunjukkan konfigurasi tahap tujuan Azure Data Explorer lengkap yang menulis seluruh pesan ke quickstart tabel dalam database':

{
    "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
    }
}

Konfigurasi menentukan bahwa:

  • Pesan di-batch selama 5 detik.
  • Menggunakan jalur .payload batch untuk menemukan data untuk kolom.

Contoh

Contoh berikut menunjukkan contoh pesan input ke tahap tujuan Azure Data Explorer:

{
  "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"
}