Entrainement
Module
Synchroniser Azure Digital Twins avec des données d’appareil IoT - Training
Configurer un flux de données depuis un appareil IoT simulé dans Azure Digital Twins.
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Cet article traite des notifications d’événements générées par Azure Digital Twins, leur structure et des détails sur les différents types qui peuvent être générés.
Dans Azure Digital Twins, plusieurs événements peuvent produire des notifications. Celles-ci permettent au back-end de la solution de savoir quand des actions se produisent. Ces notifications sont ensuite routées vers différents emplacements, à l’intérieur et à l’extérieur d’Azure Digital Twins, qui peuvent utiliser ces informations pour prendre des mesures.
Plusieurs types de notifications peuvent être générés. En outre, les messages de notification peuvent être différents selon le type d’événement qui les a générés. Cet article donne des détails sur les différents types de messages, ainsi que sur leur aspect.
Ce graphique montre les différents types de notifications :
Type de notification | Nom de la source de routage | Généré à partir de… |
---|---|---|
Notification de modification du jumeau numérique | Notification de modification du jumeau numérique | Toute modification de propriété du jumeau numérique |
Notification de cycle de vie du jumeau numérique | Notification de cycle de vie du jumeau numérique | Toute opération de création ou de suppression de jumeau numérique |
Notification de modification de relation du jumeau numérique | Notification de modification de relation du jumeau numérique | Modification de relation du jumeau numérique |
Messages de télémétrie du jumeau numérique | Messages de télémétrie | Tout message de télémétrie |
La structure d’une notification d’événement à partir d’Azure Digital Twins dépend de la destination de la notification.
Les notifications envoyées à Event Grid sont conformes à l’un des formats suivants (en fonction des paramètres Event Grid) :
Les notifications envoyées à Event Hubs et Service Bus sont conformes à la liaison de protocole AMQP pour CloudEvents.
Les notifications de changement de jumeau numérique sont déclenchées lors de la mise à jour d’un jumeau numérique, par exemple :
Voici les champs compris dans le corps d’une notification de modification d’un jumeau numérique.
Nom | Valeur |
---|---|
id |
Identificateur de la notification, tel qu’un UUID ou un compteur géré par le service. source + id est unique pour chaque événement. |
source |
Nom de l’instance IoT Hub ou Azure Digital Twins, par exemple myhub.azure-devices.net ou mydigitaltwins.westus2.azuredigitaltwins.net |
data |
Document de correctif JSON décrivant la mise à jour apportée au jumeau. Pour plus d’informations, consultez les Détails du corps ci-dessous. |
specversion |
1.0 Le message est conforme à cette version de la spécification CloudEvents. |
type |
Microsoft.DigitalTwins.Twin.Update |
datacontenttype |
application/json |
subject |
ID du jumeau numérique |
time |
Horodatage du moment où l’opération s’est produite au niveau du jumeau numérique |
traceparent |
Contexte de trace W3C pour l’événement |
Dans le message, le champ data
contient un document de correctif JSON contenant la mise à jour du jumeau numérique.
Vous trouverez ci-dessous des exemples de ce type de message pour chaque schéma de notification possible.
{
"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>"
}
Notes
Azure Digital Twins ne prend actuellement pas en charge le filtrage d’événements basés sur les champs d’un tableau. Cela comprend le filtrage des propriétés au sein d’une section patch
d’une notification de modification de jumeau numérique.
Tous les jumeaux numériques émettent des notifications, qu’ils représentent ou non des appareils IoT Hub dans Azure Digital Twins. Ceci est dû aux notifications de cycle de vie, qui concernent uniquement le jumeau numérique.
Des notifications de cycle de vie sont déclenchées dans les cas suivants :
Voici les champs compris dans le corps d’une notification de cycle de vie.
Nom | Valeur |
---|---|
id |
Identificateur de la notification, tel qu’un UUID ou un compteur géré par le service. source + id est unique pour chaque événement. |
source |
Nom de l’instance IoT Hub ou Azure Digital Twins, par exemple myhub.azure-devices.net ou mydigitaltwins.westus2.azuredigitaltwins.net |
data |
Les données du jumeau numérique qui rencontre l’événement du cycle de vie. Pour plus d’informations, consultez les Détails du corps ci-dessous. |
specversion |
1.0 Le message est conforme à cette version de la spécification CloudEvents. |
type |
Microsoft.DigitalTwins.Twin.Create Microsoft.DigitalTwins.Twin.Delete |
datacontenttype |
application/json |
subject |
ID du jumeau numérique |
time |
Horodatage du moment où l’opération s’est produite au niveau du jumeau |
traceparent |
Contexte de trace W3C pour l’événement |
Vous trouverez ci-dessous des exemples de ce type de message pour chaque schéma de notification possible.
{
"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>"
}
Les notifications de modification de relation sont déclenchées lorsqu’une relation d’un jumeau numérique est créée, mise à jour ou supprimée.
Voici les champs du corps d’une notification de modification d’une relation.
Nom | Valeur |
---|---|
id |
Identificateur de la notification, tel qu’un UUID ou un compteur géré par le service. source + id est unique pour chaque événement. |
source |
Nom de l’instance Azure Digital Twins, comme mydigitaltwins.westus2.azuredigitaltwins.net |
data |
Charge utile de la relation qui a été modifiée. Pour plus d’informations, consultez les Détails du corps ci-dessous. |
specversion |
1.0 Le message est conforme à cette version de la spécification CloudEvents. |
type |
Microsoft.DigitalTwins.Relationship.Create Microsoft.DigitalTwins.Relationship.Update Microsoft.DigitalTwins.Relationship.Delete |
datacontenttype |
application/json |
subject |
ID de la relation, comme <twin-ID>/relationships/<relationshipID> |
time |
Horodatage du moment où l’opération s’est produite au niveau de la relation |
traceparent |
Contexte de trace W3C pour l’événement |
Dans le message, le champ data
contient la charge utile d’une relation, au format JSON. Il utilise le même format qu’une requête GET
pour une relation via l’API DigitalTwins.
Vous trouverez ci-dessous des exemples de ce type de message pour chaque schéma de notification possible.
{
"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>"
}
Les jumeaux numériques peuvent utiliser l’API SendTelemetry pour émettre des messages de télémétrie et les envoyer aux points de terminaison de sortie.
Voici les champs compris dans le corps d’un message de télémétrie.
Nom | Valeur |
---|---|
id |
Identificateur de la notification, fourni par le client lors de l’appel de l’API de télémétrie. |
source |
Nom complet du jumeau numérique depuis lequel l’événement de télémétrie a été envoyé. Utilisez le format suivant : <your-Digital-Twin-instance>.api.<your-region>.digitaltwins.azure.net/<twin-ID> . |
specversion |
1.0 Le message est conforme à cette version de la spécification CloudEvents. |
type |
microsoft.iot.telemetry |
data |
Message de télémétrie envoyé à partir du jumeau. La charge utile n’a pas besoin d’être alignée sur un schéma défini dans votre instance Azure Digital Twins. |
dataschema |
le schéma de données est l'ID de modèle du jumeau ou du composant qui émet les données de télémétrie. Par exemple : dtmi:example:com:floor4;2 . |
datacontenttype |
application/json |
traceparent |
Contexte de trace W3C pour l’événement. |
Le corps contient la mesure de télémétrie, ainsi que des informations contextuelles sur le jumeau. Vous trouverez ci-dessous des exemples de ce type de message pour chaque schéma de notification possible.
{
"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>"
}
En savoir plus sur la transmission d’événements à différentes destinations, à l’aide des points de terminaison et des itinéraires :
Entrainement
Module
Synchroniser Azure Digital Twins avec des données d’appareil IoT - Training
Configurer un flux de données depuis un appareil IoT simulé dans Azure Digital Twins.
Documentation
Points de terminaison et routes d’événement - Azure Digital Twins
Découvrez comment acheminer des événements Azure Digital Twins, à la fois au sein du service et en externe vers d’autres services Azure.
API et SDK Azure Digital Twins - Azure Digital Twins
Découvrez les options d’API et de Kit de développement logiciel (SDK) Azure Digital Twins, dont des informations sur les classes d’assistance SDK et des notes d’utilisation générales.
Configurer la gestion des événements entre jumeaux - Azure Digital Twins
Découvrez comment, dans Azure, créer une fonction permettant de propager des événements par le biais du graphe de jumeaux.