Gebeurtenismeldingen
In dit artikel worden gebeurtenismeldingen behandeld die worden gegenereerd door Azure Digital Twins, hun structuur en details over de verschillende typen die kunnen worden gegenereerd.
Verschillende gebeurtenissen in Azure Digital Twins produceren meldingen, waardoor de back-end van de oplossing op de hoogte kan zijn wanneer er verschillende acties plaatsvinden. Deze meldingen worden vervolgens doorgestuurd naar verschillende locaties binnen en buiten Azure Digital Twins die deze informatie kunnen gebruiken om actie te ondernemen.
Er zijn verschillende typen meldingen die kunnen worden gegenereerd en meldingen kunnen er anders uitzien, afhankelijk van het type gebeurtenis dat ze hebben gegenereerd. In dit artikel vindt u meer informatie over verschillende typen berichten en hoe deze eruit kunnen zien.
In deze grafiek ziet u de verschillende meldingstypen:
Meldingstype | Naam routeringsbron | Gegenereerd uit... |
---|---|---|
Wijzigingsmelding van digitale dubbels | Wijzigingsmelding van digitale dubbels | elke wijziging van digitale dubbel-eigenschap |
Levenscyclusmelding van digitale dubbels | Levenscyclusmelding van digitale dubbels | elke bewerking voor het maken of verwijderen van digitale dubbels |
Melding met betrekking tot relatiewijzigingen van digitale dubbels | Melding met betrekking tot relatiewijzigingen van digitale dubbels | elke digitale dubbelrelatie wijzigen |
Telemetrieberichten van digitale dubbels | Telemetrieberichten | elk telemetriebericht |
Meldingsstructuur
De structuur van een gebeurtenismelding van Azure Digital Twins is afhankelijk van de bestemming van de melding.
Meldingen die naar Event Grid worden verzonden, voldoen aan een van de volgende indelingen (afhankelijk van de Event Grid-instellingen):
- Azure Event Grid-gebeurtenisschema
- HTTP-protocolbinding voor CloudEvents.
Meldingen die naar Event Hubs en Service Bus worden verzonden, voldoen aan de AMQP-protocolbinding voor CloudEvents.
Meldingen voor wijziging van digitale dubbels
Meldingen voor wijziging van digitale dubbels worden geactiveerd wanneer een digitale dubbel wordt bijgewerkt, zoals:
- Wanneer eigenschapswaarden of metagegevens worden gewijzigd.
- Wanneer de metagegevens van digitale dubbels of onderdelen worden gewijzigd. Een voorbeeld van dit scenario is het wijzigen van het model van een digitale dubbel.
Eigenschappen
Dit zijn de velden in de hoofdtekst van een melding voor een wijziging van een digitale dubbel.
Naam | Weergegeven als |
---|---|
id |
Id van de melding, zoals een UUID of een teller die door de service wordt onderhouden. source + id is uniek voor elke afzonderlijke gebeurtenis |
source |
Naam van de IoT-hub of het Azure Digital Twins-exemplaar, zoals myhub.azure-devices.net of mydigitaltwins.westus2.azuredigitaltwins.net |
data |
Een JSON Patch-document waarin de update voor de tweeling wordt beschreven. Zie de details van de hoofdtekst hieronder voor meer informatie . |
specversion |
1.0 Het bericht voldoet aan deze versie van de CloudEvents-specificatie. |
type |
Microsoft.DigitalTwins.Twin.Update |
datacontenttype |
application/json |
subject |
Id van de digitale dubbel |
time |
Tijdstempel voor wanneer de bewerking op de digitale dubbel heeft plaatsgevonden |
traceparent |
Een W3C-traceringscontext voor de gebeurtenis |
Hoofdtekstdetails
In het bericht bevat het data
veld een JSON Patch-document met de update naar de digitale dubbel.
Hieronder ziet u voorbeelden van dit berichttype voor elk mogelijk meldingsschema.
{
"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>"
}
Notitie
Azure Digital Twins biedt momenteel geen ondersteuning voor het filteren van gebeurtenissen op basis van velden in een matrix. Dit omvat filteren op eigenschappen in een patch
sectie van een melding voor wijziging van digitale dubbels.
Meldingen over de levenscyclus van digitale dubbels
Of digitale dubbels IoT Hub-apparaten in Azure Digital Twins vertegenwoordigen of niet, ze verzenden allemaal meldingen. Ze doen dit vanwege levenscyclusmeldingen, die betrekking hebben op de digitale dubbel zelf.
Meldingen over de levenscyclus worden geactiveerd wanneer:
- Er wordt een digitale dubbel gemaakt
- Een digitale dubbel wordt verwijderd
Eigenschappen
Dit zijn de velden in de hoofdtekst van een levenscyclusmelding.
Naam | Weergegeven als |
---|---|
id |
Id van de melding, zoals een UUID of een teller die door de service wordt onderhouden. source + id is uniek voor elke afzonderlijke gebeurtenis. |
source |
Naam van de IoT-hub of het Azure Digital Twins-exemplaar, zoals myhub.azure-devices.net of mydigitaltwins.westus2.azuredigitaltwins.net |
data |
De gegevens van de tweeling die de levenscyclus-gebeurtenis ondervinden. Zie de details van de hoofdtekst hieronder voor meer informatie . |
specversion |
1.0 Het bericht voldoet aan deze versie van de CloudEvents-specificatie. |
type |
Microsoft.DigitalTwins.Twin.Create Microsoft.DigitalTwins.Twin.Delete |
datacontenttype |
application/json |
subject |
Id van de digitale dubbel |
time |
Tijdstempel voor wanneer de bewerking op de tweeling heeft plaatsgevonden |
traceparent |
Een W3C-traceringscontext voor de gebeurtenis |
Hoofdtekstdetails
Hieronder ziet u voorbeelden van dit berichttype voor elk mogelijk meldingsschema.
{
"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>"
}
Wijzigingsmeldingen voor digitale dubbelrelaties
Meldingen over relatiewijzigingen worden geactiveerd wanneer een relatie van een digitale dubbel wordt gemaakt, bijgewerkt of verwijderd.
Eigenschappen
Dit zijn de velden in de hoofdtekst van een melding voor relatiewijzigingen.
Naam | Weergegeven als |
---|---|
id |
Id van de melding, zoals een UUID of een teller die door de service wordt onderhouden. source + id is uniek voor elke afzonderlijke gebeurtenis |
source |
Naam van het Azure Digital Twins-exemplaar, zoals mydigitaltwins.westus2.azuredigitaltwins.net |
data |
De nettolading van de relatie die is gewijzigd. Zie de details van de hoofdtekst hieronder voor meer informatie . |
specversion |
1.0 Het bericht voldoet aan deze versie van de CloudEvents-specificatie. |
type |
Microsoft.DigitalTwins.Relationship.Create Microsoft.DigitalTwins.Relationship.Update Microsoft.DigitalTwins.Relationship.Delete |
datacontenttype |
application/json |
subject |
Id van de relatie, zoals <twin-ID>/relationships/<relationshipID> |
time |
Tijdstempel voor wanneer de bewerking op de relatie heeft plaatsgevonden |
traceparent |
Een W3C-traceringscontext voor de gebeurtenis |
Hoofdtekstdetails
In het bericht bevat het data
veld de nettolading van een relatie, in JSON-indeling. Het maakt gebruik van dezelfde indeling als een GET
aanvraag voor een relatie via de DigitalTwins-API.
Hieronder ziet u voorbeelden van dit berichttype voor elk mogelijk meldingsschema.
{
"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>"
}
Telemetrieberichten van digitale dubbels
Digitale dubbels kunnen de SendTelemetry-API gebruiken om telemetrieberichten te verzenden en naar uitgaande eindpunten te verzenden.
Eigenschappen
Dit zijn de velden in de hoofdtekst van een telemetriebericht.
Naam | Weergegeven als |
---|---|
id |
Id van de melding, die door de klant wordt verstrekt bij het aanroepen van de telemetrie-API. |
source |
Volledig gekwalificeerde naam van de tweeling waaruit de telemetriegebeurtenis is verzonden. Maakt gebruik van de volgende indeling: <your-Digital-Twin-instance>.api.<your-region>.digitaltwins.azure.net/<twin-ID> . |
specversion |
1.0 Het bericht voldoet aan deze versie van de CloudEvents-specificatie. |
type |
microsoft.iot.telemetry |
data |
Het telemetriebericht dat van de tweeling wordt verzonden. De nettolading hoeft niet overeen te komen met een schema dat is gedefinieerd in uw Azure Digital Twins-exemplaar. |
dataschema |
Het gegevensschema is de model-id van de tweeling of het onderdeel dat de telemetrie verzendt. Bijvoorbeeld: dtmi:example:com:floor4;2 . |
datacontenttype |
application/json |
traceparent |
Een W3C-traceringscontext voor de gebeurtenis. |
Hoofdtekstdetails
De hoofdtekst bevat de telemetriemeting, samen met enkele contextuele informatie over de dubbel. Hieronder ziet u voorbeelden van dit berichttype voor elk mogelijk meldingsschema.
{
"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>"
}
Volgende stappen
Meer informatie over het leveren van gebeurtenissen aan verschillende bestemmingen, met behulp van eindpunten en routes: