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

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: