Oznámení událostí
Tento článek se zabývá oznámeními událostí generovanými službou Azure Digital Twins, jejich strukturou a podrobnostmi o různých typech, které je možné vygenerovat.
Různé události ve službě Azure Digital Twins vytvářejí oznámení, která umožňují back-endu řešení vědět, kdy dochází k různým akcím. Tato oznámení se pak směrují do různých umístění uvnitř a mimo službu Azure Digital Twins, která můžou tyto informace použít k provedení akce.
Existuje několik typů oznámení, která se dají vygenerovat, a zprávy s oznámeními můžou vypadat jinak v závislosti na tom, jaký typ události je vygeneroval. Tento článek obsahuje podrobné informace o různých typech zpráv a o tom, jak můžou vypadat.
Tento graf zobrazuje různé typy oznámení:
Typ oznámení | Název zdroje směrování | Vygenerováno z... |
---|---|---|
Oznámení o změně digitálního dvojčete | Oznámení o změně digitálního dvojčete | jakákoli změna vlastnosti digitálního dvojčete |
Oznámení o životním cyklu digitálního dvojčete | Oznámení o životním cyklu digitálního dvojčete | jakákoli operace vytvoření nebo odstranění digitálního dvojčete |
Oznámení o změně vztahu digitálního dvojčete | Oznámení o změně vztahu digitálního dvojčete | jakákoli změna vztahu digitálního dvojčete |
Zprávy telemetrie digitálního dvojčete | Zprávy telemetrie | libovolná telemetrická zpráva |
Struktura oznámení
Struktura oznámení události ze služby Azure Digital Twins závisí na cíli oznámení.
Oznámení odeslaná do event Gridu odpovídají jednomu z následujících formátů (závisí na nastavení Event Gridu):
- Schéma událostí Azure Event Gridu
- Vazba protokolu HTTP pro CloudEvents
Oznámení odesílaná do služby Event Hubs a Service Bus odpovídají vazbě protokolu AMQP pro CloudEvents.
Oznámení o změnách digitálních dvojčat
Oznámení o změnách digitálních dvojčat se aktivují při aktualizaci digitálního dvojčete, například:
- Když se změní hodnoty vlastností nebo metadata.
- Když se změní metadata digitálního dvojčete nebo komponent. Příkladem tohoto scénáře je změna modelu digitálního dvojčete.
Vlastnosti
Tady jsou pole v textu oznámení o změně digitálního dvojčete.
Jméno | Hodnota |
---|---|
id |
Identifikátor oznámení, jako je UUID nebo čítač udržovaný službou. source + id je jedinečná pro každou jedinečnou událost. |
source |
Název služby IoT Hub nebo instance Služby Azure Digital Twins, například myhub.azure-devices.net nebo mydigitaltwins.westus2.azuredigitaltwins.net |
data |
Dokument opravy JSON popisující aktualizaci provedené dvojčetem. Podrobnosti najdete níže v podrobnostech textu . |
specversion |
1.0 Zpráva odpovídá této verzi specifikace CloudEvents. |
type |
Microsoft.DigitalTwins.Twin.Update |
datacontenttype |
application/json |
subject |
ID digitálního dvojčete |
time |
Časové razítko, kdy k operaci došlo u digitálního dvojčete |
traceparent |
Kontext trasování W3C pro událost |
Podrobnosti textu
Uvnitř zprávy data
obsahuje pole dokument JSON Patch obsahující aktualizaci digitálního dvojčete.
Níže jsou uvedeny příklady tohoto typu zprávy pro každé možné schéma oznámení.
{
"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>"
}
Poznámka:
Azure Digital Twins v současné době nepodporuje filtrování událostí na základě polí v rámci pole. To zahrnuje filtrování vlastností v patch
části oznámení o změně digitálního dvojčete.
Oznámení o životním cyklu digitálního dvojčete
Ať už digitální dvojčata představují zařízení IoT Hubu ve službě Azure Digital Twins , nebo ne, budou posílat všechna oznámení. Dělají to kvůli oznámením o životním cyklu, která se týkají samotného digitálního dvojčete.
Oznámení o životním cyklu se aktivují v následujících případech:
- Vytvoří se digitální dvojče.
- Digitální dvojče se odstraní.
Vlastnosti
Tady jsou pole v textu oznámení životního cyklu.
Jméno | Hodnota |
---|---|
id |
Identifikátor oznámení, jako je UUID nebo čítač udržovaný službou. source + id je jedinečný pro každou jedinečnou událost. |
source |
Název služby IoT Hub nebo instance Služby Azure Digital Twins, například myhub.azure-devices.net nebo mydigitaltwins.westus2.azuredigitaltwins.net |
data |
Data dvojčete, u kterých dochází k události životního cyklu. Podrobnosti najdete níže v podrobnostech textu . |
specversion |
1.0 Zpráva odpovídá této verzi specifikace CloudEvents. |
type |
Microsoft.DigitalTwins.Twin.Create Microsoft.DigitalTwins.Twin.Delete |
datacontenttype |
application/json |
subject |
ID digitálního dvojčete |
time |
Časové razítko, kdy došlo k operaci ve dvojčeti |
traceparent |
Kontext trasování W3C pro událost |
Podrobnosti textu
Níže jsou uvedeny příklady tohoto typu zprávy pro každé možné schéma oznámení.
{
"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>"
}
Oznámení o změně vztahu digitálního dvojčete
Oznámení o změnách relací se aktivují, když se vytvoří, aktualizuje nebo odstraní jakýkoli vztah digitálního dvojčete.
Vlastnosti
Tady jsou pole v textu oznámení o změně relace.
Jméno | Hodnota |
---|---|
id |
Identifikátor oznámení, jako je UUID nebo čítač udržovaný službou. source + id je jedinečná pro každou jedinečnou událost. |
source |
Název instance Azure Digital Twins, například mydigitaltwins.westus2.azuredigitaltwins.net |
data |
Datová část relace, která byla změněna. Podrobnosti najdete níže v podrobnostech textu . |
specversion |
1.0 Zpráva odpovídá této verzi specifikace CloudEvents. |
type |
Microsoft.DigitalTwins.Relationship.Create Microsoft.DigitalTwins.Relationship.Update Microsoft.DigitalTwins.Relationship.Delete |
datacontenttype |
application/json |
subject |
ID relace, například <twin-ID>/relationships/<relationshipID> |
time |
Časové razítko, kdy došlo k operaci v relaci |
traceparent |
Kontext trasování W3C pro událost |
Podrobnosti textu
Ve zprávě data
pole obsahuje datovou část relace ve formátu JSON. Používá stejný formát jako GET
požadavek na relaci prostřednictvím rozhraní DigitalTwins API.
Níže jsou uvedeny příklady tohoto typu zprávy pro každé možné schéma oznámení.
{
"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>"
}
Zprávy telemetrie digitálního dvojčete
Digitální dvojčata můžou pomocí rozhraní API SendTelemetry generovat zprávy telemetrie a odesílat je do koncových bodů výchozího přenosu dat.
Vlastnosti
Tady jsou pole v textu zprávy telemetrie.
Jméno | Hodnota |
---|---|
id |
Identifikátor oznámení, které poskytuje zákazník při volání rozhraní API telemetrie. |
source |
Plně kvalifikovaný název dvojčete, ze kterého byla událost telemetrie odeslána. Používá následující formát: <your-Digital-Twin-instance>.api.<your-region>.digitaltwins.azure.net/<twin-ID> . |
specversion |
1.0 Zpráva odpovídá této verzi specifikace CloudEvents. |
type |
microsoft.iot.telemetry |
data |
Zpráva telemetrie odesílaná z dvojčete. Datová část nemusí odpovídat žádnému schématu definovanému v instanci služby Azure Digital Twins. |
dataschema |
Schéma dat je ID modelu dvojčete nebo komponenty, která generuje telemetrii. Například dtmi:example:com:floor4;2 . |
datacontenttype |
application/json |
traceparent |
Kontext trasování W3C pro událost. |
Podrobnosti textu
Tělo obsahuje měření telemetrie spolu s některými kontextovými informacemi o dvojčeti. Níže jsou uvedeny příklady tohoto typu zprávy pro každé možné schéma oznámení.
{
"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>"
}
Další kroky
Seznamte se s doručováním událostí do různých cílů pomocí koncových bodů a tras: