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):

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: