Pemberitahuan acara
Artikel ini membahas pemberitahuan peristiwa yang dihasilkan oleh Azure Digital Twins, strukturnya, dan detail tentang berbagai jenis yang dapat dihasilkan.
Berbagai peristiwa di Azure Digital Twins menghasilkan pemberitahuan, yang memungkinkan ujung belakang solusi mengetahui 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 menghasilkannya. Artikel ini memberikan detail tentang berbagai jenis pesan, dan seperti apa tampilannya.
Bagan ini menunjukkan berbagai jenis pemberitahuan:
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 Service Bus 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 notifikasi, 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 tersebut sesuai dengan versi spesifikasi CloudEvents ini. |
type |
Microsoft.DigitalTwins.Twin.Update |
datacontenttype |
application/json |
subject |
ID kembar digital |
time |
Tanda waktu ketika operasi terjadi padakembar 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.
- Event Grid dengan EventGridEvents
- Event Grid dengan CloudEvents
- Azure Event Hubs dan Azure Service Bus
{
"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 bagian patch
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 ketika:
- Kembar digitaldibuat
- Kembar digital dihapus
Properti
Berikut adalah bidang dalam isi pemberitahuan siklus hidup.
Nama | Nilai |
---|---|
id |
Pengidentifikasi notifikasi, 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 tersebut 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 ketika 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.
- Event Grid dengan EventGridEvents
- Event Grid dengan CloudEvents
- Azure Event Hubs dan Azure Service Bus
{
"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 apa pun dari kembar digital dibuat, diperbarui, atau dihapus.
Properti
Berikut adalah bidang dalam isi pemberitahuan perubahan hubungan.
Nama | Nilai |
---|---|
id |
Pengidentifikasi notifikasi, 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 tersebut 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 ketika 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.
- Event Grid dengan EventGridEvents
- Event Grid dengan CloudEvents
- Azure Event Hubs dan Azure Service Bus
{
"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 tersebut sesuai dengan versi spesifikasi CloudEvents ini. |
type |
microsoft.iot.telemetry |
data |
Pesan telemetri 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.
- Event Grid dengan EventGridEvents
- Event Grid dengan CloudEvents
- Azure Event Hubs dan Azure Service Bus
{
"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: