Olay bildirimleri
Bu makale, Azure Digital Twins tarafından oluşturulan olay bildirimlerini, bunların yapısını ve oluşturulabilecek çeşitli türler hakkındaki ayrıntıları kapsar.
Azure Digital Twins'deki farklı olaylar, farklı eylemler gerçekleştiğinde çözümün arka ucun farkında olmasını sağlayan bildirimler oluşturur. Bu bildirimler daha sonra Azure Digital Twins'in içinde ve dışında işlem yapmak için bu bilgileri kullanabilen farklı konumlara yönlendirilir .
Oluşturulabilecek çeşitli bildirim türleri vardır ve bildirim iletileri, bunları oluşturan olay türüne bağlı olarak farklı görünebilir. Bu makalede, farklı ileti türleri ve bunların nasıl görünebileceği hakkında ayrıntılı bilgiler verilmektedir.
Bu grafik farklı bildirim türlerini gösterir:
Bildirim türü | Yönlendirme kaynağı adı | Oluşturan kaynak... |
---|---|---|
Dijital İkiz Değişiklik Bildirimi | Dijital İkiz Değişiklik Bildirimi | herhangi bir dijital ikiz özellik değişikliği |
Dijital İkiz Yaşam Döngüsü Bildirimi | Dijital İkiz Yaşam Döngüsü Bildirimi | herhangi bir dijital ikiz oluşturma veya silme işlemi |
Dijital İkiz İlişki Değişikliği Bildirimi | Dijital İkiz İlişki Değişikliği Bildirimi | herhangi bir dijital ikiz ilişkisi değişikliği |
Dijital İkiz Telemetri İletileri | Telemetri İletileri | herhangi bir telemetri iletisi |
Bildirim yapısı
Azure Digital Twins'den bir olay bildiriminin yapısı bildirimin hedefine bağlıdır.
Event Grid'e gönderilen bildirimler aşağıdaki biçimlerden biriyle uyumludur (Event Grid ayarlarına bağlıdır):
- Azure Event Grid olay şeması
- CloudEvents için HTTP Protokolü Bağlama.
Event Hubs ve Service Bus'a gönderilen bildirimler, CloudEvents için AMQP Protokol Bağlamasına uygundur.
Dijital ikiz değişiklik bildirimleri
Dijital ikiz değişikliği bildirimleri , bir dijital ikiz güncelleştirilirken tetiklenir, örneğin:
- Özellik değerleri veya meta veriler değiştiğinde.
- Dijital ikiz veya bileşen meta verileri değiştiğinde. Bu senaryoya örnek olarak bir dijital ikizin modelini değiştirmek örnek olarak verilmiştir.
Properties
Dijital ikiz değişiklik bildiriminin gövdesindeki alanlar aşağıdadır.
Veri Akışı Adı | Değer |
---|---|
id |
UUID veya hizmet tarafından tutulan sayaç gibi bildirimin tanımlayıcısı. source + id her ayrı olay için benzersizdir |
source |
IoT hub'ının veya Azure Digital Twins örneğinin adı ( myhub.azure-devices.net veya mydigitaltwins.westus2.azuredigitaltwins.net gibi) |
data |
İkizde yapılan güncelleştirmeyi açıklayan bir JSON Düzeltme Eki belgesi. Ayrıntılar için aşağıdaki Gövde ayrıntıları bölümüne bakın. |
specversion |
1.0 İleti, CloudEvents belirtiminin bu sürümüne uygundur. |
type |
Microsoft.DigitalTwins.Twin.Update |
datacontenttype |
application/json |
subject |
Dijital ikizin kimliği |
time |
İşlemin dijital ikizde ne zaman gerçekleştiğine ilişkin zaman damgası |
traceparent |
Olay için W3C izleme bağlamı |
Gövde ayrıntıları
İletinin data
içinde, alan dijital ikiz güncelleştirmesini içeren bir JSON Düzeltme Eki belgesi içerir.
Aşağıda, her olası bildirim şeması için bu ileti türüne örnekler verilmiştir.
{
"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>"
}
Not
Azure Digital Twins şu anda bir dizideki alanlara göre olayları filtrelemeyi desteklememektedir. Bu, dijital ikiz değişiklik bildiriminin bir patch
bölümündeki özelliklere göre filtrelemeyi içerir.
Dijital ikiz yaşam döngüsü bildirimleri
Dijital ikizler, Azure Digital Twins'deki IoT Hub cihazlarını temsil edip etmese de bildirim yayar. Bunu, dijital ikizin kendisiyle ilgili yaşam döngüsü bildirimleri nedeniyle yapar.
Yaşam döngüsü bildirimleri şu durumlarda tetiklenir:
- Dijital ikiz oluşturulur
- Dijital ikiz silindi
Properties
Yaşam döngüsü bildiriminin gövdesindeki alanlar aşağıdadır.
Veri Akışı Adı | Değer |
---|---|
id |
UUID veya hizmet tarafından tutulan sayaç gibi bildirimin tanımlayıcısı. source + id her ayrı olay için benzersizdir. |
source |
IoT hub'ının veya Azure Digital Twins örneğinin adı ( myhub.azure-devices.net veya mydigitaltwins.westus2.azuredigitaltwins.net gibi) |
data |
Yaşam döngüsü olayını yaşayan ikizin verileri. Ayrıntılar için aşağıdaki Gövde ayrıntıları bölümüne bakın. |
specversion |
1.0 İleti, CloudEvents belirtiminin bu sürümüne uygundur. |
type |
Microsoft.DigitalTwins.Twin.Create Microsoft.DigitalTwins.Twin.Delete |
datacontenttype |
application/json |
subject |
Dijital ikizin kimliği |
time |
İkiz üzerinde işlemin ne zaman gerçekleştiğine ilişkin zaman damgası |
traceparent |
Olay için W3C izleme bağlamı |
Gövde ayrıntıları
Aşağıda, her olası bildirim şeması için bu ileti türüne örnekler verilmiştir.
{
"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>"
}
Dijital ikiz ilişkisi değişiklik bildirimleri
Dijital ikizin herhangi bir ilişkisi oluşturulduğunda, güncelleştirildiğinde veya silindiğinde ilişki değişikliği bildirimleri tetiklenir.
Properties
İlişki değişikliği bildiriminin gövdesindeki alanlar aşağıdadır.
Veri Akışı Adı | Değer |
---|---|
id |
UUID veya hizmet tarafından tutulan sayaç gibi bildirimin tanımlayıcısı. source + id her ayrı olay için benzersizdir |
source |
Mydigitaltwins.westus2.azuredigitaltwins.net gibi Azure Digital Twins örneğinin adı |
data |
Değiştirilen ilişkinin yükü. Ayrıntılar için aşağıdaki Gövde ayrıntıları bölümüne bakın. |
specversion |
1.0 İleti, CloudEvents belirtiminin bu sürümüne uygundur. |
type |
Microsoft.DigitalTwins.Relationship.Create Microsoft.DigitalTwins.Relationship.Update Microsoft.DigitalTwins.Relationship.Delete |
datacontenttype |
application/json |
subject |
İlişkinin kimliği, örneğin <twin-ID>/relationships/<relationshipID> |
time |
İlişkide işlemin ne zaman gerçekleştiğine ilişkin zaman damgası |
traceparent |
Olay için W3C izleme bağlamı |
Gövde ayrıntıları
İletinin data
içinde, alan JSON biçiminde bir ilişkinin yükünü içerir. DigitalTwins API aracılığıyla bir ilişki isteğiyle aynı biçimi GET
kullanır.
Aşağıda, her olası bildirim şeması için bu ileti türüne örnekler verilmiştir.
{
"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>"
}
Dijital ikiz telemetri iletileri
Dijital ikizler telemetri iletilerini yaymak ve çıkış uç noktalarına göndermek için SendTelemetry API'sini kullanabilir.
Properties
Burada, telemetri iletisinin gövdesindeki alanlar yer alır.
Veri Akışı Adı | Değer |
---|---|
id |
Müşteri tarafından telemetri API'sini çağırırken sağlanan bildirimin tanımlayıcısı. |
source |
Telemetri olayının gönderildiği ikizin tam adı. Şu biçimi kullanır: <your-Digital-Twin-instance>.api.<your-region>.digitaltwins.azure.net/<twin-ID> . |
specversion |
1.0 İleti, CloudEvents belirtiminin bu sürümüne uygundur. |
type |
microsoft.iot.telemetry |
data |
İkizden gönderilen telemetri iletisi. Yükün Azure Digital Twins örneğinizde tanımlanan herhangi bir şemayla uyumlu olması gerekmez. |
dataschema |
Veri şeması, ikizi veya telemetriyi yayan bileşenin model kimliğidir. Örneğin, dtmi:example:com:floor4;2 . |
datacontenttype |
application/json |
traceparent |
Olay için bir W3C izleme bağlamı. |
Gövde ayrıntıları
Gövde, telemetri ölçümlerini ve ikiz hakkındaki bağlamsal bilgileri içerir. Aşağıda, her olası bildirim şeması için bu ileti türüne örnekler verilmiştir.
{
"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>"
}
Sonraki adımlar
Uç noktaları ve yolları kullanarak olayları farklı hedeflere teslim etme hakkında bilgi edinin: