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 içindeki ve dışındaki farklı konumlara yönlendirilir ve bu konumlar eyleme geçmek için bu bilgileri kullanabilir.
Oluşturulabilecek çeşitli bildirim türleri vardır ve bildirim iletileri, bunları oluşturan olayın 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ı bilgi 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 özelliği 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 gelen bir olay bildiriminin yapısı, bildirimin hedefine bağlıdır.
Event Grid'e gönderilen bildirimler aşağıdaki biçimlerden birine uygundur (Event Grid ayarlarına bağlıdır):
- olay şemasını Azure Event Grid
- 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 dijital ikizin modelini değiştirmek örnek olarak verilmiştir.
Özellikler
Dijital ikiz değişiklik bildiriminin gövdesindeki alanlar aşağıdadır.
Name | Değer |
---|---|
id |
Bildirimin tanımlayıcısı, örneğin UUID veya hizmet tarafından tutulan bir sayaç. source + id her ayrı olay için benzersizdir |
source |
Myhub.azure-devices.net veya mydigitaltwins.westus2.azuredigitaltwins.net gibi IoT hub'ının veya Azure Digital Twins örneğinin adı |
data |
İkizde yapılan güncelleştirmeyi açıklayan bir JSON Patch 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 içinde, data
alanı dijital ikiz güncelleştirmesini içeren bir JSON Patch 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 ikizlerAzure Digital Twins'deki IoT Hub cihazları temsil edip etmese de, hepsi 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
Özellikler
Yaşam döngüsü bildiriminin gövdesindeki alanlar aşağıdadır.
Name | Değer |
---|---|
id |
Bildirimin tanımlayıcısı, örneğin UUID veya hizmet tarafından tutulan bir sayaç. source + id her ayrı olay için benzersizdir. |
source |
Myhub.azure-devices.net veya mydigitaltwins.westus2.azuredigitaltwins.net gibi IoT hub'ının veya Azure Digital Twins örneğinin adı |
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 |
İkizde 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.
Özellikler
İlişki değişikliği bildiriminin gövdesindeki alanlar aşağıdadır.
Name | Değer |
---|---|
id |
Bildirimin tanımlayıcısı, örneğin UUID veya hizmet tarafından tutulan bir sayaç. 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 içinde, data
alan JSON biçiminde bir ilişkinin yükünü içerir. DigitalTwins API'sini kullanarak 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.
Özellikler
Burada, telemetri iletisinin gövdesindeki alanlar yer alır.
Name | 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çümünün yanı sıra ikiz hakkındaki bazı 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: