Bagikan melalui


Plugin kueri Azure Digital Twins untuk Azure Data Explorer

Artikel ini berisi tentang plugin kueri Azure Digital Twins untuk Azure Data Explorer.

Plugin Azure Digital Twins untuk Azure Data Explorer memungkinkan Anda menjalankan kueri Azure Data Explorer yang mengakses dan menggabungkan data di seluruh grafik Azure Digital Twins dan database deret waktu Azure Data Explorer. Gunakan plugin untuk mengontekstualisasikan data deret waktu yang berbeda dengan menalar di kembar digital dan hubungannya untuk mendapatkan wawasan tentang perilaku lingkungan yang dimodelkan.

Misalnya, dengan plugin ini, Anda dapat menulis kueri Kusto yang:

  1. Memilih kembar digital yang menarik melalui plugin kueri Azure Digital Twins,
  2. Menggabungkan kembar tersebut terhadap rangkaian waktu masing-masing di Azure Data Explorer, lalu
  3. Melakukan analitik rangkaian waktu lanjutan pada kembar tersebut.

Menggabungkan data dari grafik kembar di Azure Digital Twins dengan data deret waktu di Azure Data Explorer dapat membantu Anda memahami perilaku operasional berbagai bagian solusi Anda.

Menyerap data Azure Digital Twins ke Azure Data Explorer

Sebelum mengkueri dengan plugin, Anda harus menyerap data Azure Digital Twins anda ke Azure Data Explorer. Ada dua cara utama yang dapat Anda lakukan: melalui fitur riwayat data, atau melalui penyerapan langsung. Bagian berikut ini menjelaskan opsi ini secara lebih terperinci.

Menyerap dengan riwayat data

Cara paling sederhana untuk menyerap data IoT dari Azure Digital Twins ke Azure Data Explorer adalah dengan menggunakan fitur riwayat data. Fitur ini memungkinkan Anda menyiapkan koneksi antara instans Azure Digital Twins dan kluster Azure Data Explorer, dan pembaruan grafik (termasuk pembaruan properti kembar, peristiwa siklus hidup kembar, dan peristiwa siklus hidup hubungan) secara otomatis diajarkan ke kluster. Ini adalah pilihan yang baik jika Anda menggunakan data telemetri perangkat untuk menghias kembar digital Anda. Untuk informasi selengkapnya tentang fitur ini, lihat Riwayat data (dengan Azure Data Explorer).

Penyerapan langsung

Anda juga dapat memilih untuk menyerap data IoT langsung ke kluster Azure Data Explorer Anda dari IoT Hub, atau dari sumber lain. Kemudian, grafik Azure Digital Twins akan digunakan untuk mengontekstualisasikan data deret waktu menggunakan kueri Azure Digital Twins/Azure Data Explorer bersama. Opsi ini adalah pilihan yang baik untuk beban kerja penyerapan langsung—namun, Anda tidak akan dapat memanfaatkan arsitektur berbasis peristiwa Azure Digital Twins untuk memperbarui kembar lain, memicu layanan hilir, atau memancarkan pemberitahuan saat kembar mengubah status. Untuk informasi selengkapnya tentang proses ini, lanjutkan melalui bagian lainnya.

Memetakan data di Azure Data Explorer dan Azure Digital Twins

Jika Anda menyerap data rangkaian waktu langsung ke Azure Data Explorer, Anda mungkin perlu mengonversi data rangkaian waktu mentah ini menjadi skema yang cocok untuk kueri Bersama Azure Digital Twins/Azure Data Explorer.

Kebijakan pembaruan di Azure Data Explorer memungkinkan Anda mengubah dan menambahkan data secara otomatis ke tabel target setiap kali data baru dimasukkan ke dalam tabel sumber.

Jika ID sensor dalam data telemetri perangkat Anda berbeda dari ID kembar yang sesuai di Azure Digital Twins, Anda dapat menggunakan kebijakan pembaruan untuk memperkaya data rangkaian waktu mentah Anda dengan ID kembar dan mempertahankannya ke tabel target. Menggunakan ID kembar, tabel target kemudian dapat digabungkan dengan kembar digital yang dipilih oleh plugin Azure Digital Twins.

Misalnya, Anda membuat tabel berikut untuk menyimpan data deret waktu mentah yang mengalir ke instans Azure Data Explorer Anda.

.create-merge table rawData (Timestamp:datetime, someId:string, Value:string, ValueType:string)  

Anda dapat membuat tabel pemetaan untuk menghubungkan ID deret waktu dengan ID kembar, dan bidang opsional lainnya.

.create-merge table mappingTable (someId:string, twinId:string, otherMetadata:string) 

Kemudian, buat tabel target untuk menampung data deret waktu yang diperkaya.

.create-merge table timeseriesSilver (twinId:string, Timestamp:datetime, someId:string, otherMetadata:string, ValueNumeric:real, ValueString:string)  

Selanjutnya, buat fungsi Update_rawData untuk memperkaya data mentah dengan menggabungkannya dengan tabel pemetaan. Melakukannya akan menambahkan ID kembar ke tabel target yang dihasilkan.

.create-or-alter function with (folder = "Update", skipvalidation = "true") Update_rawData() { 
rawData 
| join kind=leftouter mappingTable on someId 
| project 
    Timestamp, ValueNumeric = toreal(Value), ValueString = Value, ... 
} 

Terakhir, buat kebijakan pembaruan untuk memanggil fungsi dan memperbarui tabel target.

.alter table timeseriesSilver policy update 
@'[{"IsEnabled": true, "Source": "rawData", "Query": "Update_rawData()", "IsTransactional": false, "PropagateIngestionProperties": false}]' 

Setelah tabel target dibuat, Anda dapat menggunakan plugin Azure Digital Twins untuk memilih kembar yang diminati dan kemudian menggabungkannya dengan data deret waktu di tabel target.

Contoh skema

Berikut adalah contoh skema yang mungkin digunakan untuk mewakili data bersama. Contohnya mengikuti skema riwayat data Azure Data Explorer untuk pembaruan properti kembar.

TimeStamp SourceTimeStamp TwinId ModelId Name Value RelationshipTarget RelationshipID
2021-02-01 17:24 2021-02-01 17:11 ConfRoomTempSensor dtmi:com:example:TemperatureSensor;1 suhu 301.0

Properti kembar digital disimpan sebagai pasangan nilai kunci (name, value). name dan value disimpan sebagai jenis data dinamis.

Skema juga mendukung penyimpanan properti untuk hubungan, per bidang relationshipTarget dan relationshipID. Skema nilai kunci menghindari kebutuhan untuk membuat kolom untuk setiap properti kembar.

Mewakili properti dengan banyak bidang

Anda mungkin ingin menyimpan properti di skema Anda dengan beberapa bidang. Properti ini diwakili dengan menyimpan objek JSON sebagai value dalam skema Anda.

Misalnya, jika Anda ingin merepresentasikan properti dengan tiga bidang untuk roll, pitch, dan yaw, objek nilai akan terlihat seperti ini: {"roll": 20, "pitch": 15, "yaw": 45}.

Menggunakan plugin

Setelah data Azure Digital Twins Anda berada di Azure Data Explorer, Anda dapat menggunakan plugin untuk mengkuerinya.

Anda dapat memanggil plugin dalam kueri Kusto dengan perintah berikut. Ada dua placeholder, <Azure-Digital-Twins-endpoint> dan <Azure-Digital-Twins-query>, yang merupakan string yang mewakili titik akhir instans Azure Digital Twins dan kueri Azure Digital Twins.

evaluate azure_digital_twins_query_request(<Azure-Digital-Twins-endpoint>, <Azure-Digital-Twins-query>) 

Penting

Pengguna plugin harus diberikan peran Azure Digital Twins Data Reader atau peran Pemilik Data Azure Digital Twins, karena token Microsoft Entra pengguna digunakan untuk mengautentikasi. Informasi tentang cara menetapkan peran ini dapat ditemukan di Solusi Keamanan untuk Azure Digital Twins.

Plugin bekerja dengan memanggil Azure Digital Twins Query API, dan struktur bahasa kueri sama seperti saat menggunakan API, dengan dua pengecualian:

  • Kartubebas * dalam SELECT klausul tidak didukung. Sebagai gantinya, kueri Azure Digital Twin yang dijalankan menggunakan plugin harus menggunakan alias dalam klausa SELECT.

    Misalnya, pertimbangkan kueri Azure Digital Twins di bawah ini yang dijalankan menggunakan API:

    SELECT * FROM DIGITALTWINS
    

    Untuk menjalankan kueri itu saat menggunakan plugin, itu harus ditulis ulang seperti ini:

    SELECT T FROM DIGITALTWINS T
    
  • Nama kolom yang dikembalikan oleh plugin tidak boleh diawali dengan $. Menggunakan alias dalam klausa SELECT juga akan membantu menghindari skenario ini.

    Misalnya, pertimbangkan kueri Azure Digital Twins di bawah ini yang dijalankan menggunakan API:

    SELECT T.$dtId, T.Temperature FROM DIGITALTWINS T
    

    Untuk menjalankan kueri itu saat menggunakan plugin, itu harus ditulis ulang seperti ini:

    SELECT T.$dtId as tid, T.Temperature FROM DIGITALTWINS T
    

Untuk informasi selengkapnya tentang menggunakan plugin, lihat dokumentasi Kusto untuk plugin azure_digital_twins_query_request.

Untuk melihat contoh kueri dan menyelesaikan panduan dengan data sampel, lihat Plugin kueri Azure Digital Twins untuk Azure Data Explorer: Kueri sampel dan panduan di GitHub.

Langkah berikutnya