Notifikasi kejadian
Artikel ini membahas pemberitahuan peristiwa yang dihasilkan oleh Azure Digital Twins, strukturnya, dan detail tentang berbagai jenis yang dapat dihasilkan.
Peristiwa yang berbeda di Azure Digital Twins membuat pemberitahuan, yang memungkinkan backend solusi untuk menyadari saat tindakan yang berbeda terjadi. Pemberitahuan ini kemudian dirutekanke lokasi berbeda di dalam dan di luar Azure Digital Twins yang dapat menggunakan informasi ini untuk mengambil tindakan.
Ada beberapa jenis pemberitahuan yang dapat dibuat, dan pesan pemberitahuan mungkin terlihat berbeda tergantung pada jenis peristiwa yang membuatnya. Artikel ini memberikan detail tentang berbagai jenis pesan, dan seperti apa bentuknya.
Bagan ini menunjukkan jenis pemberitahuan yang berbeda:
Jenis pemberitahuan | Nama sumber perutean | Dihasilkan dari... |
---|---|---|
Pemberitahuan Perubahan Kembar Digital | Pemberitahuan Perubahan Kembar Digital | setiap perubahan properti kembar digital |
Pemberitahuan Siklus Hidup Kembar Digital | Pemberitahuan Siklus Hidup Kembar Digital | setiap kembar digital membuat atau menghapus operasi |
Pemberitahuan Perubahan Hubungan Kembar Digital | Pemberitahuan Perubahan Hubungan Kembar Digital | setiap perubahan hubungan kembar digital |
Pesan telemetri Digital Twin | Pesan Telemetri | setiap pesan telemetri |
Struktur pemberitahuan
Struktur pemberitahuan peristiwa dari Azure Digital Twins bergantung pada tujuan pemberitahuan.
Pemberitahuan yang dikirim ke Event Grid sesuai dengan salah satu format berikut (tergantung pada pengaturan Event Grid):
- Skema peristiwa Azure Event Grid
- Pengikatan Protokol HTTP untuk CloudEvents.
Pemberitahuan yang dikirim ke Azure Event Hubs dan Bus Layanan sesuai dengan Pengikatan Protokol AMQP untuk CloudEvents.
Pemberitahuan perubahan kembar digital
Pemberitahuan perubahan kembar digital dipicu saat kembar digital sedang diperbarui, seperti:
- Saat nilai properti atau metadata berubah.
- Saat metadata kembar atau komponen digital berubah. Contoh skenario ini adalah mengubah model kembar digital.
Properti
Berikut adalah bidang dalam isi pemberitahuan perubahan kembar digital.
Nama | Nilai |
---|---|
id |
Pengidentifikasi pemberitahuan, seperti UUID atau penghitung yang dikelola oleh layanan. source + id unik untuk setiap peristiwa yang berbeda |
source |
Nama IoT Hub atau instans Azure Digital Twins, seperti myhub.azure-devices.net atau mydigitaltwins.westus2.azuredigitaltwins.net |
data |
Dokumen Patch JSON yang menjelaskan pembaruan yang dibuat untuk kembar. Untuk detailnya, lihat Detail isi di bawah. |
specversion |
1.0 Pesan sesuai dengan versi spesifikasi CloudEvents ini. |
type |
Microsoft.DigitalTwins.Twin.Update |
datacontenttype |
application/json |
subject |
ID kembar digital |
time |
Tanda waktu saat operasi terjadi pada kembar digital |
traceparent |
Konteks pelacakan W3C untuk peristiwa |
Detail isi
Di dalam pesan, bidang data
berisi dokumen Patch JSON yang berisi pembaruan ke kembar digital.
Di bawah ini adalah contoh jenis pesan ini untuk setiap kemungkinan skema pemberitahuan.
{
"id": "39d4abb9-e3ee-4ed5-ad17-2243a9784946",
"subject": "example-twin1",
"data": {
"data": {
"modelId": "dtmi:examplecom:interfaceName;1",
"patch": [
{
"value": "new name",
"path": "/room",
"op": "replace"
}
]
},
"contenttype": "application/json",
"traceparent": "00-2aa957558db348f387ef704b37631a1d-c28d665340fe5045-01"
},
"eventType": "Microsoft.DigitalTwins.Twin.Update",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2021-12-09T20:28:52.9795363Z",
"topic": "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.EventGrid/topics/<topic-name>"
}
Catatan
Azure Digital Twins saat ini tidak mendukung pemfilteran peristiwa berdasarkan bidang dalam array. Ini termasuk pemfilteran pada properti dalam patch
bagian pemberitahuan perubahan kembar digital.
Pemberitahuan siklus hidup kembar digital
Apakah kembaran digital mewakili perangkat IoT Hub di Azure Digital Twins atau tidak, semuanya akan mengeluarkan pemberitahuan. Proses tersebut dilakukan karena pemberitahuan siklus hidup, yaitu tentang kembaran digital itu sendiri.
Pemberitahuan siklus hidup dipicu saat:
- Kembar digital dibuat
- Kembar digital dihapus
Properti
Berikut adalah bidang dalam isi pemberitahuan siklus hidup.
Nama | Nilai |
---|---|
id |
Pengidentifikasi pemberitahuan, seperti UUID atau penghitung yang dikelola oleh layanan. source + id unik untuk setiap peristiwa yang berbeda. |
source |
Nama IoT Hub atau instans Azure Digital Twins, seperti myhub.azure-devices.net atau mydigitaltwins.westus2.azuredigitaltwins.net |
data |
Kembar digital mengalami peristiwa siklus hidup. Untuk detailnya, lihat Detail isi di bawah. |
specversion |
1.0 Pesan sesuai dengan versi spesifikasi CloudEvents ini. |
type |
Microsoft.DigitalTwins.Twin.Create Microsoft.DigitalTwins.Twin.Delete |
datacontenttype |
application/json |
subject |
ID kembar digital |
time |
Tanda waktu saat operasi terjadi pada kembar |
traceparent |
Konteks pelacakan W3C untuk peristiwa |
Detail isi
Di bawah ini adalah contoh jenis pesan ini untuk setiap kemungkinan skema pemberitahuan.
{
"id": "6ccdb1cd-0dc3-450f-8730-ceccda8439be",
"subject": "example-twin1",
"data": {
"data": {
"$dtId": "example-twin1",
"$etag": "W/\"ecf81d6c-8c1a-4a95-afd8-13bd4cea436f\"",
"room": "room name",
"$metadata": {
"$model": "dtmi:examplecom:interfaceName;1",
"room": {
"lastUpdateTime": "2021-12-09T20:28:52.6651216Z"
}
}
},
"contenttype": "application/json",
"traceparent": "00-2aa957558db348f387ef704b37631a1d-51f716e7397ec64b-01"
},
"eventType": "Microsoft.DigitalTwins.Twin.Create",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2021-12-09T20:28:52.6745538Z",
"topic": "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.EventGrid/topics/<topic-name>"
}
Pemberitahuan perubahan hubungan kembar digital
Pemberitahuan perubahan hubungan dipicu saat hubungan kembar digital dibuat, diperbarui, atau dihapus.
Properti
Berikut adalah bidang dalam isi pemberitahuan perubahan hubungan.
Nama | Nilai |
---|---|
id |
Pengidentifikasi pemberitahuan, seperti UUID atau penghitung yang dikelola oleh layanan. source + id unik untuk setiap peristiwa yang berbeda |
source |
Nama instans Azure Digital Twins, seperti mydigitaltwins.westus2.azuredigitaltwins.net |
data |
Payload hubungan yang diubah. Untuk detailnya, lihat Detail isi di bawah. |
specversion |
1.0 Pesan sesuai dengan versi spesifikasi CloudEvents ini. |
type |
Microsoft.DigitalTwins.Relationship.Create Microsoft.DigitalTwins.Relationship.Update Microsoft.DigitalTwins.Relationship.Delete |
datacontenttype |
application/json |
subject |
ID hubungan, seperti <twin-ID>/relationships/<relationshipID> |
time |
Tanda waktu saat operasi terjadi pada hubungan |
traceparent |
Konteks pelacakan W3C untuk peristiwa |
Detail isi
Di dalam pesan, bidang data
berisi muatan hubungan, dalam format JSON. Ini menggunakan format yang sama seperti permintaan GET
untuk hubungan melalui DigitalTwins API.
Di bawah ini adalah contoh jenis pesan ini untuk setiap kemungkinan skema pemberitahuan.
{
"id": "4d850574-0a28-4667-a59e-3b382ff0e74e",
"subject": "example-twin1/relationships/RuntimeEventsScenario_edge",
"data": {
"data": {
"modelId": "dtmi:examplecom:interfaceName;1",
"patch": [
{
"value": "new value",
"path": "/prop1",
"op": "replace"
}
]
},
"contenttype": "application/json",
"traceparent": "00-2aa957558db348f387ef704b37631a1d-c1fcf951f540ec44-01"
},
"eventType": "Microsoft.DigitalTwins.Relationship.Update",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2021-12-09T20:28:53.2016395Z",
"topic": "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.EventGrid/topics/<topic-name>"
}
Pesan telemetri kembar digital
Kembar digital dapat menggunakan API SendTelemetry untuk memancarkan pesan telemetri dan mengirimkannya ke titik akhir keluar.
Properti
Berikut adalah bidang dalam isi pesan telemetri.
Nama | Nilai |
---|---|
id |
Pengidentifikasi pemberitahuan, yang disediakan oleh pelanggan saat memanggil API telemetri. |
source |
Nama kembar yang sepenuhnya memenuhi syarat tempat peristiwa telemetri dikirim. Menggunakan format berikut: <your-Digital-Twin-instance>.api.<your-region>.digitaltwins.azure.net/<twin-ID> . |
specversion |
1.0 Pesan sesuai dengan versi spesifikasi CloudEvents ini. |
type |
microsoft.iot.telemetry |
data |
Pesan telemetri yang dikirim dari kembar. Payload tidak perlu selaras dengan skema apa pun yang ditentukan dalam instans Azure Digital Twins Anda. |
dataschema |
Skema data adalah ID model kembar atau komponen yang memunculkan telemetri. Contohnya,dtmi:example:com:floor4;2 . |
datacontenttype |
application/json |
traceparent |
Konteks pelacakan W3C untuk peristiwa. |
Detail isi
Isi berisi pengukuran telemetri bersama dengan beberapa informasi kontekstual tentang kembar. Di bawah ini adalah contoh jenis pesan ini untuk setiap kemungkinan skema pemberitahuan.
{
"id": "6f6635d8-f1b8-43ec-80fb-bb9453fc611c",
"subject": "example-twin1",
"data": {
"data": {
"prop": "hello from telemetry"
},
"dataschema": "dtmi:examplecom:interfaceName;1",
"contenttype": "application/json-patch+json; charset=utf-8",
"traceparent": "00-2aa957558db348f387ef704b37631a1d-e894098b46243743-01"
},
"eventType": "microsoft.iot.telemetry",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "0001-01-01T00:00:00Z",
"topic": "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.EventGrid/topics/<topic-name>"
}
Langkah berikutnya
Pelajari tentang mengirimkan peristiwa ke berbagai tujuan, menggunakan titik akhir dan rute: