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:

Sumber daya ini terhubung ke dalam alur berikut:

Diagram memperlihatkan alur data telemetri ke Azure Digital Twins, melalui hub peristiwa, ke Azure Data Explorer.

Data berpindah melalui sumber daya ini dalam urutan ini:

  1. Properti kembar digital di Azure Digital Twins diperbarui.
  2. Riwayat data meneruskan pesan yang berisi nilai properti dan metadata kembar yang diperbarui ke hub peristiwa.
  3. Hub peristiwa meneruskan pesan ke kluster azure Data Explorer target.
  4. 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:

  1. 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.
  2. 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.