Delen via


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 van routeringsbron Gegenereerd via...
Melding voor wijziging van digital twin Melding voor wijziging van digital twin elke wijziging van een digitaal tweelingmodel-eigenschap
Melding van de levenscyclus van Digital Twin Melding van de levenscyclus van Digital Twin elke bewerking voor het maken of verwijderen van digitale tweelingen
Melding voor wijziging van digitale tweelingrelatie Melding voor wijziging van digitale tweelingrelatie elke verandering in de digitale tweelingrelatie
Digital Twin-telemetrieberichten 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):

Meldingen die naar Event Hubs en Service Bus worden verzonden, voldoen aan de AMQP-protocolbinding voor CloudEvents.

Meldingen van wijzigingen in digitale tweelingen

Wijzigingsmeldingen van digitale tweelingen worden geactiveerd wanneer een digitale tweeling wordt bijgewerkt, zoals:

  • Wanneer eigenschapswaarden of metagegevens worden gewijzigd.
  • Wanneer de metadata van digitale tweelingen of componenten verandert. 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 Waarde
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

Lichaamsdetails

In het data veld in het bericht bevindt zich een JSON Patch-document met de update voor de digitale tweeling.

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>"
}

Opmerking

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 wijzigingsmelding van digitale tweelingen.

Meldingen over de levenscyclus van digitale tweelingen

Of digitale tweelingen nu IoT Hub-apparaten in Azure Digital Twins vertegenwoordigen of niet, ze zullen allemaal meldingen verzenden. Ze doen dit vanwege de levenscyclusmeldingen, die betrekking hebben op de digitale tweeling 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 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 levenscyclusgebeurtenis 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 op de tweeling heeft plaatsgevonden
traceparent Een W3C-traceringscontext voor de gebeurtenis

Lichaamsdetails

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 tweelingrelaties

Meldingen over relatiewijzigingen worden geactiveerd wanneer een relatie van een digital twin wordt gemaakt, bijgewerkt of verwijderd.

Eigenschappen

Dit zijn de velden in de hoofdtekst van een melding voor relatiewijzigingen.

Naam Waarde
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 payload 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

Lichaamsdetails

In het bericht bevat het data veld de inhoud van een relatie, in JSON-formaat. 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 uit te geven en ze naar uitgaande eindpunten te sturen.

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. 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.

Lichaamsdetails

De inhoud bevat de telemetriemeting, samen met enkele contextuele informatie over de digitale tweeling. 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: