Delen via


Gebeurtenisschema's voor niet-telemetriegegevens in Azure IoT Hub

Dit artikel bevat de eigenschappen en schema's voor niet-telemetriegebeurtenissen die worden verzonden door Azure IoT Hub. Niet-telemetriegebeurtenissen verschillen van apparaat-naar-cloud- en cloud-naar-apparaat-berichten in die IoT Hub deze gebeurtenissen verzendt als reactie op specifieke statuswijzigingen die zijn gekoppeld aan uw apparaten. Bijvoorbeeld wijzigingen in de levenscyclus, zoals een apparaat of module die wordt gemaakt of verwijderd, of wijzigingen in de verbindingsstatus, zoals een apparaat of module die verbinding maakt of de verbinding verbreekt.

U kunt niet-telemetriegebeurtenissen routeren met behulp van berichtroutering of bereiken naar niet-telemetriegebeurtenissen met behulp van Azure Event Grid. Zie IoT Hub-berichtroutering en React to IoT Hub-gebeurtenissen met behulp van Event Grid voor meer informatie over ioT Hub-berichtroutering.

De gebeurtenisvoorbeelden in dit artikel zijn vastgelegd met behulp van de az iot hub monitor-events Azure CLI-opdracht. Mogelijk ziet u een subset eigenschappen die zijn opgenomen in de gebeurtenissen die binnenkomen bij een eindpunt voor berichtroutering.

Beschikbare gebeurtenistypen

Azure IoT Hub verzendt de niet-telemetriegebeurtenissen in de volgende categorieën:

Gebeurteniscategorie Beschrijving
Status van apparaatverbindingsevenementen Verzonden wanneer een apparaat verbinding maakt met of de verbinding met een IoT-hub verbreekt.
Gebeurtenissen voor de levenscyclus van apparaten Wordt verzonden wanneer een apparaat of module wordt gemaakt op of verwijderd uit een IoT-hub.
Wijzigingen van apparaatdubbels Verzonden wanneer een apparaat of moduledubbel wordt gewijzigd of vervangen.
Gebeurtenissen met wijziging van dubbel Verzonden wanneer de digitale dubbel van een apparaat of module wordt gewijzigd of vervangen.

Algemene gebeurteniseigenschappen

Niet-telemetriegebeurtenissen delen verschillende algemene eigenschappen.

Systeemeigenschappen

IoT Hub stelt de volgende systeemeigenschappen voor elke gebeurtenis in.

Eigenschap Type Description Trefwoord voor routeringsquery
inhoudscodering tekenreeks utf-8 $contentEncoding
inhoudstype tekenreeks application/json $contentType
correlatie-id tekenreeks Een unieke id die de gebeurtenis identificeert. $correlationId
user-id tekenreeks De naam van IoT Hub die de gebeurtenis heeft gegenereerd. $userId
iothub-verbinding-apparaat-id tekenreeks De apparaat-id. $connectionDeviceId
iothub-connection-module-id tekenreeks De module-id. Deze eigenschap is alleen uitvoer voor modulelevenscyclus- en dubbel-gebeurtenissen. $connectionModuleId
iothub-enqueuedtime Nummer Datum en tijd waarop de melding is verzonden. Gebruik in routeringsquery's een ISO8601 tijdstempel, bijvoorbeeld $enqueuedTime > "2022-06-06T22:56:06Z" $enqueuedTime
iothub-message-source tekenreeks De gebeurteniscategorie die de berichtbron identificeert. Bijvoorbeeld deviceLifecycleEvents. N.v.t.

Toepassingseigenschappen

IoT Hub stelt de volgende toepassingseigenschappen voor elke gebeurtenis in.

Eigenschap Type Description
deviceId tekenreeks De apparaat-id.
hubName tekenreeks De naam van de IoT Hub die de gebeurtenis heeft gegenereerd.
iothub-message-schema tekenreeks Het berichtschema dat is gekoppeld aan de gebeurteniscategorie; bijvoorbeeld deviceLifecycleNotification.
moduleId tekenreeks De module-id. Deze eigenschap is alleen uitvoer voor modulelevenscyclus- en dubbelwijzigingsevenementen.
operationTimestamp tekenreeks De ISO8601 tijdstempel van de bewerking.
opType tekenreeks De id voor de bewerking die de gebeurtenis heeft gegenereerd. Maak bijvoorbeeldDeviceIdentity of deleteDeviceIdentity.

Gebruik in routeringsquery's de naam van de eigenschap. Bijvoorbeeld: deviceId = "my-device".

Verbindingsstatus-gebeurtenissen

Verbindingsstatus-gebeurtenissen worden verzonden wanneer een apparaat of module verbinding maakt of de verbinding met de IoT-hub verbreekt.

Toepassingseigenschappen: In de volgende tabel ziet u hoe toepassingseigenschappen worden ingesteld voor verbindingsstatus gebeurtenissen:

Eigenschappen Weergegeven als
iothub-message-schema deviceConnectionStateNotification
opType deviceConnected of deviceDisconnected

Systeemeigenschappen: In de volgende tabel ziet u hoe systeemeigenschappen worden ingesteld voor verbindingsstatus gebeurtenissen:

Eigenschappen Weergegeven als
iothub-message-source deviceConnectionStateEvents

Hoofdtekst: De hoofdtekst bevat een volgnummer. Het volgnummer is een tekenreeksweergave van een hexadecimaal getal. U kunt tekenreeksen vergelijken om het grotere getal te identificeren. Als u de tekenreeks converteert naar hex, is het getal een 256-bits getal. Het volgnummer neemt strikt toe, dus de laatste gebeurtenis heeft een hoger aantal dan oudere gebeurtenissen. Dit is handig als u regelmatig verbinding maakt met het apparaat en de verbinding verbreekt en ervoor wilt zorgen dat alleen de meest recente gebeurtenis wordt gebruikt om een downstreamactie te activeren.

Opmerking

In de volgende JSON ziet u een gebeurtenis van de verbindingsstatus van het apparaat die wordt gegenereerd wanneer een apparaat wordt verbroken.

{
    "event": {
        "origin": "contoso-device-1",
        "module": "",
        "interface": "",
        "component": "",
        "properties": {
            "system": {
                "content_encoding": "utf-8",
                "content_type": "application/json",
                "correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd",
                "user_id": "contoso-routing-hub"
            },
            "application": {
                "hubName": "contoso-routing-hub",
                "deviceId": "contoso-device-1",
                "opType": "deviceDisconnected",
                "iothub-message-schema": "deviceConnectionStateNotification",
                "operationTimestamp": "2022-06-01T18:43:04.5561024Z"
            }
        },
        "annotations": {
            "iothub-connection-device-id": "contoso-device-1",
            "iothub-enqueuedtime": 1654109018051,
            "iothub-message-source": "deviceConnectionStateEvents",
            "x-opt-sequence-number": 72,
            "x-opt-offset": "37344",
            "x-opt-enqueued-time": 1654109018176
        },
        "payload": {
            "sequenceNumber": "000000000000000001D8713FF7E0851400000002000000000000000000000007"
        }
    }
}

Gebeurtenissen voor de levenscyclus van apparaten

Gebeurtenissen voor de levenscyclus van apparaten worden verzonden wanneer een apparaat of module wordt gemaakt of verwijderd uit het identiteitsregister. Zie meldingen over de levenscyclus van apparaten en modules voor meer informatie over wanneer gebeurtenissen voor de levenscyclus van apparaten worden gegenereerd.

Toepassingseigenschappen: In de volgende tabel ziet u hoe toepassingseigenschappen worden ingesteld voor levenscyclus-gebeurtenissen van apparaten:

Eigenschappen Weergegeven als
iothub-message-schema deviceLifecycleNotification
opType Een van de volgende waarden: createDeviceIdentity, deleteDeviceIdentity, createModuleIdentity of deleteModuleIdentity.

Systeemeigenschappen: In de volgende tabel ziet u hoe systeemeigenschappen worden ingesteld voor levenscyclus-gebeurtenissen van apparaten:

Eigenschappen Weergegeven als
iothub-message-source deviceLifecycleEvents

Hoofdtekst: De hoofdtekst bevat een weergave van de apparaatdubbel of moduledubbel. Het bevat de apparaat-id en module-id, de tweeling-etag, de versie-eigenschap en de tags, eigenschappen en gekoppelde metagegevens van de dubbel.

Opmerking

In de volgende JSON ziet u een gebeurtenis voor de levenscyclus van apparaten die wordt gegenereerd wanneer een module wordt gemaakt. De gebeurtenis wordt vastgelegd met behulp van de az iot hub monitor-events Azure CLI-opdracht.

{
    "event": {
        "origin": "contoso-device-2",
        "module": "module-1",
        "interface": "",
        "component": "",
        "properties": {
            "system": {
                "content_encoding": "utf-8",
                "content_type": "application/json",
                "correlation_id": "c5a4e6986c",
                "user_id": "contoso-routing-hub"
            },
            "application": {
                "hubName": "contoso-routing-hub",
                "deviceId": "contoso-device-2",
                "operationTimestamp": "2022-05-27T18:49:38.4904785Z",
                "moduleId": "module-1",
                "opType": "createModuleIdentity",
                "iothub-message-schema": "moduleLifecycleNotification"
            }
        },
        "annotations": {
            "iothub-connection-device-id": "contoso-device-2",
            "iothub-connection-module-id": "module-1",
            "iothub-enqueuedtime": 1653677378534,
            "iothub-message-source": "deviceLifecycleEvents",
            "x-opt-sequence-number": 62,
            "x-opt-offset": "31768",
            "x-opt-enqueued-time": 1653677378643
        },
        "payload": {
            "deviceId": "contoso-device-2",
            "moduleId": "module-1",
            "etag": "AAAAAAAAAAE=",
            "version": 2,
            "properties": {
                "desired": {
                    "$metadata": {
                        "$lastUpdated": "0001-01-01T00:00:00Z"
                    },
                    "$version": 1
                },
                "reported": {
                    "$metadata": {
                        "$lastUpdated": "0001-01-01T00:00:00Z"
                    },
                    "$version": 1
                }
            }
        }
    }
}

Wijzigingen van apparaatdubbels

Wijzigingsgebeurtenissen voor apparaatdubbels worden verzonden wanneer een apparaatdubbel of een moduledubbel wordt bijgewerkt of vervangen. In sommige gevallen kunnen verschillende wijzigingen in één gebeurtenis worden verpakt. Zie back-endbewerkingen voor apparaatdubbels of back-endbewerkingen van moduledubbels voor meer informatie.

Toepassingseigenschappen: In de volgende tabel ziet u hoe toepassingseigenschappen worden ingesteld voor wijzigingsactiviteiten van apparaatdubbels:

Eigenschappen Weergegeven als
iothub-message-schema twinChangeNotification
opType Een van de volgende waarden: replaceTwin of updateTwin.

Systeemeigenschappen: In de volgende tabel ziet u hoe systeemeigenschappen worden ingesteld voor wijzigingsactiviteiten van apparaatdubbels:

Eigenschappen Weergegeven als
iothub-message-source twinChangeEvents

Hoofdtekst: Bij een update bevat de hoofdtekst de versie-eigenschap van de dubbel en de bijgewerkte tags en eigenschappen en de bijbehorende metagegevens. Bij een vervanging bevat de hoofdtekst de apparaat-id en module-id, de tweeling-etag, de versie-eigenschap en alle tags, eigenschappen en gekoppelde metagegevens van het apparaat of de moduledubbel.

Opmerking

In de volgende JSON ziet u een wijzigings gebeurtenis van een dubbel die is verzonden voor een update van een gewenste eigenschap en een tag op een moduledubbel. De gebeurtenis wordt vastgelegd met behulp van de az iot hub monitor-events Azure CLI-opdracht.

{
    "event": {
        "origin": "contoso-device-3",
        "module": "module-1",
        "interface": "",
        "component": "",
        "properties": {
            "system": {
                "content_encoding": "utf-8",
                "content_type": "application/json",
                "correlation_id": "4d1f1e2e74f",
                "user_id": "contoso-routing-hub"
            },
            "application": {
                "hubName": "contoso-routing-hub",
                "deviceId": "contoso-device-3",
                "operationTimestamp": "2022-06-01T22:27:50.2612586Z",
                "moduleId": "module-1",
                "iothub-message-schema": "twinChangeNotification",
                "opType": "updateTwin"
            }
        },
        "annotations": {
            "iothub-connection-device-id": "contoso-device-3",
            "iothub-connection-module-id": "module-1",
            "iothub-enqueuedtime": 1654122470282,
            "iothub-message-source": "twinChangeEvents",
            "x-opt-sequence-number": 17,
            "x-opt-offset": "12352",
            "x-opt-enqueued-time": 1654122470329
        },
        "payload": {
            "version": 7,
            "tags": {
                "tag1": "new value"
            },
            "properties": {
                "desired": {
                    "property1": "new value",
                    "$metadata": {
                        "$lastUpdated": "2022-06-01T22:27:50.2612586Z",
                        "$lastUpdatedVersion": 6,
                        "property1": {
                            "$lastUpdated": "2022-06-01T22:27:50.2612586Z",
                            "$lastUpdatedVersion": 6
                        }
                    },
                    "$version": 6
                }
            }
        }
    }
}

Volgende stappen