Gebeurtenismeldingen
In dit artikel worden gebeurtenismeldingen behandeld die worden gegenereerd door Azure Digital Twins, de structuur ervan 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 is 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 meldingsberichten kunnen er anders uitzien, afhankelijk van het type gebeurtenis dat ze heeft gegenereerd. In dit artikel vindt u informatie over de verschillende typen berichten en hoe deze eruit kunnen zien.
In deze grafiek ziet u de verschillende meldingstypen:
Type melding | Naam routeringsbron | Gegenereerd uit... |
---|---|---|
Wijzigingsmelding van digitale dubbels | Wijzigingsmelding van digitale dubbels | elke wijziging van de eigenschap van een digitale dubbel |
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 wijziging in een digitale dubbelrelatie |
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.
Wijzigingsmeldingen voor digitale dubbels
Wijzigingsmeldingen voor 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 wijzigingsmelding voor een digitale dubbel.
Naam | Waarde |
---|---|
id |
Id van de melding, zoals een UUID of een teller die wordt onderhouden door de service. 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 heeft plaatsgevonden op de digitale dubbel |
traceparent |
Een W3C-traceringscontext voor de gebeurtenis |
Details van hoofdtekst
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 het filteren op eigenschappen in een patch
sectie van een wijzigingsmelding voor een digitale dubbel.
Meldingen over de levenscyclus van digitale dubbels
Of digitale tweelingennu 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 | Waarde |
---|---|
id |
Id van de melding, zoals een UUID of een teller die wordt onderhouden door de service. 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 ervaart. 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 is opgetreden op de dubbel |
traceparent |
Een W3C-traceringscontext voor de gebeurtenis |
Details van hoofdtekst
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 over een relatiewijziging.
Naam | Waarde |
---|---|
id |
Id van de melding, zoals een UUID of een teller die wordt onderhouden door de service. 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 is uitgevoerd op de relatie |
traceparent |
Een W3C-traceringscontext voor de gebeurtenis |
Details van hoofdtekst
In het bericht bevat het data
veld de nettolading van een relatie, in JSON-indeling. Het gebruikt 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 deze naar uitgaande eindpunten te verzenden.
Eigenschappen
Dit zijn de velden in de hoofdtekst van een telemetriebericht.
Naam | Waarde |
---|---|
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. Gebruikt 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 wordt verzonden vanaf de dubbel. De nettolading hoeft niet te worden uitgelijnd met een schema dat is gedefinieerd in uw Azure Digital Twins-exemplaar. |
dataschema |
Het gegevensschema is de model-id van de dubbel of het onderdeel dat de telemetrie verzendt. Bijvoorbeeld dtmi:example:com:floor4;2 . |
datacontenttype |
application/json |
traceparent |
Een W3C-traceringscontext voor de gebeurtenis. |
Details van hoofdtekst
De hoofdtekst bevat de telemetriemeting, samen met 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: