Riwayat data Azure Digital Twins (dengan Azure Data Explorer)
Riwayat data adalah fitur integrasi Azure Digital Twins. Ini memungkinkan Anda untuk menghubungkan instans Azure Digital Twins ke kluster Azure Data Explorer sehingga pembaruan properti kembar digital secara otomatis diajarkan ke Azure Data Explorer.
Setelah nilai properti kembar dibuat historis ke Azure Data Explorer, Anda dapat menjalankan kueri bersama menggunakan plugin Azure Digital Twins untuk Azure Data Explorer alasan di seluruh kembar digital, hubungannya, dan data rangkaian waktu untuk mendapatkan wawasan tentang perilaku lingkungan yang dimodelkan. Anda juga dapat menggunakan kueri ini untuk menggerakkan dasbor operasional, memperkaya aplikasi web 2D dan 3D, dan mendorong pengalaman realitas tertambah/campuran imersif untuk menyampaikan status aset, proses, dan orang yang saat ini dan historis yang dimodelkan di Azure Digital Twins.
Untuk informasi selengkapnya tentang pengenalan riwayat data, termasuk demo cepat, tonton video acara IoT berikut:
Sumber daya dan aliran data yang diperlukan
Riwayat data memerlukan sumber daya berikut:
- Instans Azure Digital Twins, dengan identitas terkelola diaktifkan
- Namespace layanan Azure Event Hubs yang berisi pusat aktivitas
- Kluster Azure Data Explorer yang berisi database
Sumber daya ini terhubung ke dalam alur berikut:
Data berpindah melalui sumber daya ini dalam urutan ini:
- Properti kembar digital di Azure Digital Twins diperbarui.
- Riwayat data meneruskan pesan yang berisi nilai properti dan metadata kembar yang diperbarui ke hub peristiwa.
- Hub peristiwa meneruskan pesan ke kluster azure Data Explorer target.
- Kluster Azure Data Explorer memetakan bidang pesan ke skema riwayat data, dan menyimpan data sebagai rekaman bertanda waktu dalam tabel riwayat data.
Saat bekerja dengan riwayat data, gunakan API versi 2022-05-31 .
Memerlukan izin
Untuk menyiapkan koneksi riwayat data, instans Azure Digital Twins Anda harus memiliki izin berikut untuk mengakses sumber daya Azure Event Hubs dan Azure Data Explorer. Peran ini memungkinkan Azure Digital Twins untuk mengonfigurasi hub peristiwa dan database Azure Data Explorer atas nama Anda (misalnya, membuat tabel dalam database). Izin ini dapat secara opsional dihapus setelah riwayat data disiapkan.
- Sumber daya Azure Event Hubs: Azure Event Hubs Pemilik Data
- Kluster Azure Data Explorer: Kontributor (terlingkup ke seluruh kluster atau database tertentu)
- Penetapan perwakilan database Azure Data Explorer: Admin (terlingkup ke database yang sedang digunakan)
Nantinya, instans Azure Digital Twins Anda harus memiliki izin berikut pada sumber daya Azure Event Hubs saat riwayat data digunakan: Azure Event Hubs Pengirim Data (Anda juga dapat memilih untuk menyimpan Azure Event Hubs Pemilik Data dari penyiapan riwayat data).
Membuat koneksi riwayat data
Setelah semua sumber daya yang diperlukan disiapkan, Anda dapat menggunakan Azure CLI, portal Azure, atau Azure Digital Twins SDK untuk membuat koneksi riwayat data di antaranya. Perintah CLI adalah bagian dari ekstensi az iot .
Untuk instruksi tentang cara menyiapkan koneksi riwayat data, lihat Menggunakan riwayat data dengan Azure Data Explorer.
Skema data
Data rangkaian waktu untuk pembaruan properti kembar disimpan di Azure Data Explorer dengan skema berikut:
| Atribut | Jenis | Deskripsi |
|---|---|---|
TimeStamp |
DateTime | Tanggal/waktu pesan pembaruan properti diproses oleh Azure Digital Twins. Bidang ini diatur oleh sistem dan tidak dapat ditulis oleh pengguna. |
SourceTimeStamp |
DateTime | Properti opsional yang dapat ditulis yang mewakili tanda waktu ketika pembaruan properti diamati di dunia nyata. Properti ini hanya dapat ditulis menggunakan versi 2022-05-31 dari API/SDK Azure Digital Twins dan nilainya harus mematuhi format tanggal dan waktu ISO 8601. Untuk informasi selengkapnya tentang cara memperbarui properti ini, lihat Memperbarui sourceTime properti. |
ServiceId |
String | ID instans layanan dari data pengelogan layanan Azure IoT |
Id |
String | ID kembar |
ModelId |
String | ID model DTDL (DTMI) |
Key |
String | Nama properti yang diperbarui |
Value |
Dinamis | Nilai properti yang diperbarui |
RelationshipId |
String | Untuk properti yang ditentukan pada hubungan (dibandingkan dengan kembar atau perangkat), kolom ini berisi ID hubungan; jika tidak, kosong |
RelationshipTarget |
String | Untuk properti yang ditentukan pada hubungan, kolom ini menentukan ID kembar dari kembar yang ditargetkan oleh hubungan; jika tidak, kosong |
Di bawah ini adalah contoh tabel pembaruan properti kembar yang disimpan ke Azure Data Explorer.
TimeStamp |
SourceTimeStamp |
ServiceId |
Id |
ModelId |
Key |
Value |
RelationshipTarget |
RelationshipID |
|---|---|---|---|---|---|---|---|---|
| 2021-06-30T20:23:29.8697482Z | 2021-06-30T20:22:14.3854859Z | myInstance.api.neu.digitaltwins.azure.net | solar_plant_3 | dtmi:example:grid:plants:solarPlant;1 |
Output | 130 | ||
| 2021-06-30T20:23:39.3235925Z | 2021-06-30T20:22:26.5837559Z | myInstance.api.neu.digitaltwins.azure.net | solar_plant_3 | dtmi:example:grid:plants:solarPlant;1 |
Output | 140 | ||
| 2021-06-30T20:23:47.078367Z | 2021-06-30T20:22:34.9375957Z | myInstance.api.neu.digitaltwins.azure.net | solar_plant_3 | dtmi:example:grid:plants:solarPlant;1 |
Output | 130 | ||
| 2021-06-30T20:23:57.3794198Z | 2021-06-30T20:22:50.1028562Z | myInstance.api.neu.digitaltwins.azure.net | solar_plant_3 | dtmi:example:grid:plants:solarPlant;1 |
Output | 123 |
Mewakili properti dengan banyak bidang
Anda mungkin perlu menyimpan properti dengan beberapa bidang. Properti ini diwakili dengan objek JSON dalam Value atribut skema.
Misalnya, jika Anda mewakili properti dengan tiga bidang untuk roll, pitch, dan yaw, riwayat data akan menyimpan objek JSON berikut sebagai Value: {"roll": 20, "pitch": 15, "yaw": 45}.
Harga
Pesan yang dipancarkan oleh riwayat data diukur di bawah dimensi Harga pesan.
Latensi penyerapan end-to-end
Riwayat data Azure Digital Twins dibangun berdasarkan mekanisme penyerapan yang ada yang disediakan oleh Azure Data Explorer. Azure Digital Twins akan memastikan bahwa pembaruan properti tersedia untuk Azure Data Explorer dalam waktu kurang dari dua detik. Latensi ekstra dapat diperkenalkan oleh Azure Data Explorer menyerap data.
Ada dua metode di Azure Data Explorer untuk menyerap data: penyerapan batch dan penyerapan streaming. Anda dapat mengonfigurasi metode penyerapan ini untuk tabel individual sesuai dengan kebutuhan Anda dan skenario penyerapan data tertentu.
Penyerapan streaming memiliki latensi terendah. Namun, karena overhead pemrosesan, mode ini hanya boleh digunakan jika kurang dari 4 GB data diserap setiap jam. Penyerapan batch berfungsi paling baik jika tingkat data penyerapan tinggi diharapkan. Azure Data Explorer menggunakan penyerapan batch secara default. Tabel berikut ini meringkas latensi end-to-end kasus terburuk yang diharapkan:
| Konfigurasi Azure Data Explorer | Latensi end-to-end yang diharapkan | Laju data yang direkomendasikan |
|---|---|---|
| Penyerapan streaming | <12 detik (<3 detik khas) | <4 GB / jam |
| Penyerapan batch | Bervariasi (12 detik-15 m, tergantung pada konfigurasi) | >4 GB / jam |
Bagian lainnya berisi detail untuk mengaktifkan setiap jenis penyerapan.
Penyerapan batch (default)
Jika tidak dikonfigurasi sebaliknya, Azure Data Explorer akan menggunakan penyerapan batch. Pengaturan default dapat menyebabkan data tersedia untuk kueri hanya 5-10 menit setelah pembaruan ke kembar digital dilakukan. Kebijakan penyerapan dapat diubah, sehingga pemrosesan batch terjadi paling banyak setiap 10 detik (minimal; atau maksimum 15 menit). Untuk mengubah kebijakan penyerapan, perintah berikut harus dikeluarkan dalam tampilan kueri Azure Data Explorer:
.alter table <table_name> policy ingestionbatching @'{"MaximumBatchingTimeSpan":"00:00:10", "MaximumNumberOfItems": 500, "MaximumRawDataSizeMB": 1024}'
Pastikan bahwa <table_name> diganti dengan nama tabel yang disiapkan untuk Anda. MaximumBatchingTimeSpan harus diatur ke interval batching pilihan. Mungkin perlu waktu 5-10 menit agar kebijakan diterapkan. Anda dapat membaca selengkapnya tentang batch penyerapan di tautan berikut: perintah manajemen kebijakan Kusto IngestionBatching.
Penyerapan streaming
Mengaktifkan penyerapan streaming adalah proses 2 langkah:
- Aktifkan penyerapan streaming untuk kluster Anda. Tindakan ini hanya harus dilakukan sekali. (Peringatan: Melakukannya akan berpengaruh pada jumlah penyimpanan yang tersedia untuk cache panas, dan dapat menimbulkan batasan tambahan). Untuk petunjuknya, lihat Mengonfigurasi penyerapan streaming di kluster Azure Data Explorer Anda.
- Tambahkan kebijakan penyerapan streaming untuk tabel yang diinginkan. Anda dapat membaca selengkapnya tentang mengaktifkan penyerapan streaming untuk kluster Anda dalam dokumentasi Azure Data Explorer: perintah manajemen kebijakan Kusto IngestionBatching.
Untuk mengaktifkan penyerapan streaming untuk tabel riwayat data Azure Digital Twins Anda, perintah berikut harus dikeluarkan di panel kueri Azure Data Explorer:
.alter table <table_name> policy streamingingestion enable
Pastikan bahwa <table_name> diganti dengan nama tabel yang disiapkan untuk Anda. Mungkin perlu waktu 5-10 menit agar kebijakan diterapkan.
Langkah berikutnya
Setelah data kembar dibuat historis ke Azure Data Explorer, Anda dapat menggunakan plugin kueri Azure Digital Twins untuk Azure Data Explorer untuk menjalankan kueri di seluruh data. Baca selengkapnya tentang plugin di sini: Mengkueri dengan plugin Azure Data Explorer.
Atau, pelajari riwayat data lebih dalam dengan contoh skenario dalam panduan ini: Menggunakan riwayat data dengan Azure Data Explorer.