Oznámení událostí
Tento článek popisuje oznámení událostí vygenerovaná službou Azure Digital Twins, jejich strukturu a podrobnosti o různých typech, které je možné generovat.
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í generovat, a zprávy oznámení 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 jejich vzhledu.
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ích dvojčat |
Zprávy telemetrie digitálního dvojčete | Zprávy telemetrie | jakákoli 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í odesílaná do Event Gridu odpovídají některému z následujících formátů (v závislosti na nastavení event gridu):
- Azure Event Grid schéma událostí
- 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ího dvojčete
Oznámení o změnách digitálního dvojčete 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 komponenty. 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.
Name | Hodnota |
---|---|
id |
Identifikátor oznámení, například UUID nebo čítač spravovaný 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 provedenou u dvojčete 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 došlo k operaci v digitálním dvojčeti |
traceparent |
Kontext trasování W3C pro událost |
Podrobnosti o textu
Ve zprávě data
obsahuje pole dokument opravy JSON 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 části patch
oznámení o změně digitálního dvojčete.
Oznámení o životním cyklu digitálních dvojčat
Ať už digitální dvojčata představují IoT Hub zařízení v Azure Digital Twins nebo ne, všechna budou posílat 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 odstranilo.
Vlastnosti
Tady jsou pole v textu oznámení o životním cyklu.
Name | Hodnota |
---|---|
id |
Identifikátor oznámení, například UUID nebo čítač spravovaný 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ého 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 na dvojčeti došlo k operaci |
traceparent |
Kontext trasování W3C pro událost |
Podrobnosti o 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ách vztahů digitálních dvojčat
Oznámení o změně vztahu se aktivují při vytvoření, aktualizaci nebo odstranění jakékoli relace digitálního dvojčete.
Vlastnosti
Tady jsou pole v textu oznámení o změně vztahu.
Name | Hodnota |
---|---|
id |
Identifikátor oznámení, například UUID nebo čítač spravovaný službou. source + id je jedinečný pro každou jedinečnou událost. |
source |
Název instance Služby 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 pro čas, kdy u relace došlo k operaci |
traceparent |
Kontext trasování W3C pro událost |
Podrobnosti o textu
Uvnitř zprávy data
obsahuje pole 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 telemetrické zprávy a odesílat je do koncových bodů výchozího přenosu dat.
Vlastnosti
Tady jsou pole v těle zprávy telemetrie.
Name | 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 ve vaší instanci 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 o 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
Další informace o doručování událostí do různých cílů pomocí koncových bodů a tras: