Mengirim data ke Azure Data Explorer dari alur pemroses data
Penting
Pratinjau Operasi Azure IoT – diaktifkan oleh Azure Arc saat ini dalam PRATINJAU. Anda tidak boleh menggunakan perangkat lunak pratinjau ini di lingkungan produksi.
Anda harus menyebarkan penginstalan Operasi Azure IoT baru saat rilis yang tersedia secara umum tersedia, Anda tidak akan dapat meningkatkan penginstalan pratinjau.
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 prosesor data. 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:
Gunakan perintah Azure CLI berikut untuk membuat perwakilan layanan.
az ad sp create-for-rbac --name <YOUR_SP_NAME>
Output dari perintah ini mencakup
appId
, ,displayName
,password
dantenant
. 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:
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>
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 prosesor 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 prosesor data. | Ya | - | MQTT broker 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"
}