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):

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: