Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano powiadomienia o zdarzeniach generowane przez usługę Azure Digital Twins, ich strukturę i szczegóły dotyczące różnych typów, które można wygenerować.
Różne zdarzenia w usłudze Azure Digital Twins generują powiadomienia, które umożliwiają zapleczu rozwiązania uświadomienie sobie, gdy występują różne akcje. Te powiadomienia są następnie kierowane do różnych lokalizacji wewnątrz i poza usługą Azure Digital Twins, które mogą używać tych informacji do podjęcia działań.
Istnieje kilka typów powiadomień, które można wygenerować, a komunikaty powiadomień mogą wyglądać inaczej w zależności od typu wygenerowanego zdarzenia. Ten artykuł zawiera szczegółowe informacje o różnych typach komunikatów i o tym, jak mogą wyglądać.
Ten wykres przedstawia różne typy powiadomień:
| Typ powiadomienia | Nazwa źródła routingu | Generowane z... |
|---|---|---|
| Powiadomienie o zmianie cyfrowego bliźniaka | Powiadomienie o zmianie cyfrowego bliźniaka | zmiana właściwości cyfrowego bliźniaka |
| Powiadomienie dotyczące cyklu życia cyfrowego bliźniaka | Powiadomienie dotyczące cyklu życia cyfrowego bliźniaka | dowolna operacja tworzenia lub usuwania cyfrowego bliźniaka |
| Powiadomienie o zmianie relacji cyfrowego bliźniaka | Powiadomienie o zmianie relacji cyfrowego bliźniaka | dowolna zmiana relacji cyfrowego bliźniaka |
| Komunikaty telemetryczne Cyfrowego Bliźniaka | Komunikaty telemetryczne | dowolny komunikat telemetrii |
Struktura powiadomień
Struktura powiadomienia o zdarzeniach z usługi Azure Digital Twins zależy od miejsca docelowego powiadomienia.
Powiadomienia wysyłane do usługi Event Grid są zgodne z jednym z następujących formatów (zależne od ustawień usługi Event Grid):
- Schemat zdarzeń usługi Azure Event Grid
- Powiązanie protokołu HTTP dla CloudEvents.
Powiadomienia wysyłane do Event Hubs i Service Bus są zgodne z powiązaniem protokołu AMQP dla CloudEvents.
Powiadomienia o zmianie cyfrowego bliźniaka
Powiadomienia o zmianach cyfrowego bliźniaka są wyzwalane, gdy cyfrowy bliźniak jest aktualizowany, na przykład:
- Gdy wartości właściwości lub metadane zmieniają się.
- Gdy zmienią się metadane cyfrowego bliźniaka lub składnika. Przykładem tego scenariusza jest zmiana modelu cyfrowego bliźniaka.
Właściwości
Oto pola w treści powiadomienia o zmianie cyfrowego bliźniaka.
| Nazwa | Wartość |
|---|---|
id |
Identyfikator powiadomienia, taki jak identyfikator UUID lub licznik obsługiwany przez usługę.
source
+
id jest unikatowy dla każdego odrębnego zdarzenia |
source |
Nazwa wystąpienia centrum IoT lub usługi Azure Digital Twins, takiej jak myhub.azure-devices.net lub mydigitaltwins.westus2.azuredigitaltwins.net |
data |
Dokument poprawki JSON opisujący aktualizację wprowadzoną w cyfrowym bliźniaku. Aby uzyskać szczegółowe informacje, zobacz Szczegóły treści poniżej. |
specversion |
1.0 Komunikat jest zgodny z tą wersją specyfikacji CloudEvents. |
type |
Microsoft.DigitalTwins.Twin.Update |
datacontenttype |
application/json |
subject |
Identyfikator cyfrowego bliźniaka |
time |
Sygnatura czasowa dla momentu wystąpienia operacji na cyfrowym bliźniaku |
traceparent |
Kontekst śledzenia W3C dla zdarzenia |
Szczegóły ciała
Wewnątrz komunikatu pole data zawiera dokument JSON Patch, który zawiera aktualizację cyfrowego bliźniaka.
Poniżej przedstawiono przykłady tego typu komunikatu dla każdego możliwego schematu powiadomień.
- Event Grid z usługą EventGridEvents
- Usługa Event Grid z rozwiązaniem CloudEvents
- Event Hubs i Service Bus
{
"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>"
}
Uwaga / Notatka
Usługa Azure Digital Twins obecnie nie obsługuje filtrowania zdarzeń na podstawie pól w tablicy. Obejmuje to filtrowanie właściwości w sekcji patch powiadomienia o zmianie cyfrowego bliźniaka.
Powiadomienia dotyczące cyklu życia cyfrowego bliźniaka
Niezależnie od tego, czy cyfrowe bliźniaki reprezentują urządzenia usługi IoT Hub w usłudze Azure Digital Twins, wszystkie będą emitować powiadomienia. Robią to z powodu powiadomień o cyklu życia, które dotyczą samego cyfrowego bliźniaka.
Powiadomienia dotyczące cyklu życia są wyzwalane, gdy:
- Zostanie utworzony cyfrowy bliźniak
- Cyfrowy bliźniak jest usuwany
Właściwości
Poniżej przedstawiono pola w treści powiadomienia o cyklu życia.
| Nazwa | Wartość |
|---|---|
id |
Identyfikator powiadomienia, taki jak identyfikator UUID lub licznik obsługiwany przez usługę.
source
+
id jest unikatowy dla każdego odrębnego zdarzenia. |
source |
Nazwa wystąpienia centrum IoT lub usługi Azure Digital Twins, takiej jak myhub.azure-devices.net lub mydigitaltwins.westus2.azuredigitaltwins.net |
data |
Dane dotyczące bliźniaka, który przeżywa zdarzenie cyklu życia. Aby uzyskać szczegółowe informacje, zobacz Szczegóły treści poniżej. |
specversion |
1.0 Komunikat jest zgodny z tą wersją specyfikacji CloudEvents. |
type |
Microsoft.DigitalTwins.Twin.CreateMicrosoft.DigitalTwins.Twin.Delete |
datacontenttype |
application/json |
subject |
Identyfikator cyfrowego bliźniaka |
time |
Sygnatura czasowa momentu operacji na bliźniaku |
traceparent |
Kontekst śledzenia W3C dla zdarzenia |
Szczegóły ciała
Poniżej przedstawiono przykłady tego typu komunikatu dla każdego możliwego schematu powiadomień.
- Event Grid z usługą EventGridEvents
- Usługa Event Grid z rozwiązaniem CloudEvents
- Event Hubs i Service Bus
{
"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>"
}
Powiadomienia o zmianie relacji cyfrowego bliźniaka
Powiadomienia o zmianach relacji są wyzwalane, gdy dowolna relacja cyfrowego bliźniaka zostanie utworzona, zaktualizowana lub usunięta.
Właściwości
Poniżej przedstawiono pola w treści powiadomienia o zmianie relacji.
| Nazwa | Wartość |
|---|---|
id |
Identyfikator powiadomienia, taki jak identyfikator UUID lub licznik obsługiwany przez usługę.
source
+
id jest unikatowy dla każdego odrębnego zdarzenia |
source |
Nazwa wystąpienia usługi Azure Digital Twins, np. mydigitaltwins.westus2.azuredigitaltwins.net |
data |
Ładunek zmienionej relacji. Aby uzyskać szczegółowe informacje, zobacz Szczegóły treści poniżej. |
specversion |
1.0 Komunikat jest zgodny z tą wersją specyfikacji CloudEvents. |
type |
Microsoft.DigitalTwins.Relationship.CreateMicrosoft.DigitalTwins.Relationship.UpdateMicrosoft.DigitalTwins.Relationship.Delete |
datacontenttype |
application/json |
subject |
Identyfikator relacji, na przykład <twin-ID>/relationships/<relationshipID> |
time |
Znacznik czasu określający moment przeprowadzenia operacji na relacji. |
traceparent |
Kontekst śledzenia W3C dla zdarzenia |
Szczegóły ciała
Wewnątrz komunikatu pole data zawiera ładunek relacji w formacie JSON. Używa tego samego formatu jak GET żądanie dotyczące relacji za pośrednictwem interfejsu API DigitalTwins.
Poniżej przedstawiono przykłady tego typu komunikatu dla każdego możliwego schematu powiadomień.
- Event Grid z usługą EventGridEvents
- Usługa Event Grid z rozwiązaniem CloudEvents
- Event Hubs i Service Bus
{
"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>"
}
Komunikaty telemetryczne cyfrowego bliźniaka
Cyfrowe bliźniaki mogą używać interfejsu API SendTelemetry do emitowania komunikatów telemetrycznych i wysyłania ich do punktów końcowych.
Właściwości
Poniżej przedstawiono pola w treści komunikatu telemetrii.
| Nazwa | Wartość |
|---|---|
id |
Identyfikator powiadomienia udostępnianego przez klienta podczas wywoływania interfejsu API telemetrii. |
source |
W pełni kwalifikowana nazwa bliźniaka, z którego wysłano zdarzenie telemetrii. Używa następującego formatu: <your-Digital-Twin-instance>.api.<your-region>.digitaltwins.azure.net/<twin-ID>. |
specversion |
1.0 Komunikat jest zgodny z tą wersją specyfikacji CloudEvents. |
type |
microsoft.iot.telemetry |
data |
Komunikat telemetrii wysyłany z bliźniaka. Ładunek nie musi być zgodny z żadnym schematem zdefiniowanym w instancji Azure Digital Twins. |
dataschema |
Schemat danych to identyfikator modelu bliźniaka lub składnika, który emituje telemetrię. Na przykład dtmi:example:com:floor4;2. |
datacontenttype |
application/json |
traceparent |
Kontekst śledzenia W3C dla zdarzenia. |
Szczegóły ciała
Ciało zawiera pomiar telemetrii wraz z pewnymi informacjami kontekstowymi dotyczącymi cyfrowego bliźniaka. Poniżej przedstawiono przykłady tego typu komunikatu dla każdego możliwego schematu powiadomień.
- Event Grid z usługą EventGridEvents
- Usługa Event Grid z rozwiązaniem CloudEvents
- Event Hubs i Service Bus
{
"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>"
}
Dalsze kroki
Dowiedz się więcej o dostarczaniu zdarzeń do różnych miejsc docelowych przy użyciu punktów końcowych i tras: