Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk az Azure IoT Hub által kibocsátott nem telemetriai események tulajdonságait és sémáit ismerteti. A nem telemetriai események eltérnek az eszközről a felhőbe és a felhőből az eszközre irányuló üzenetektől abban az esetben, ha az IoT Hub ezeket az eseményeket az eszközökhöz társított adott állapotváltozásokra válaszul bocsátja ki. A nem telemetriai események közé tartoznak például az életciklus változásai, például egy eszköz vagy modul létrehozása vagy törlése, vagy a kapcsolat állapota, például egy eszköz vagy modul csatlakoztatása vagy leválasztása.
A nem telemetriai eseményeket üzenet-útválasztással irányíthatja, vagy elérheti a nem telemetriai eseményeket az Azure Event Grid használatával. Az IoT Hub üzenet-útválasztásával kapcsolatos további információkért lásd: Az IoT Hub üzenet-útválasztása eszközről felhőbe irányuló üzenetek azure-szolgáltatásokba való küldéséhez , valamint az IoT Hub-eseményekre való reagálás az Event Grid használatával a műveletek aktiválásához.
A cikkben szereplő esemény példákat az az iot hub monitor-events Azure CLI paranccsal rögzítették. Előfordulhat, hogy az üzenet-útválasztási végpontra érkező események tulajdonságainak egy részhalmaza jelenik meg.
Elérhető eseménytípusok
Az Azure IoT Hub a következő kategóriákban bocsátja ki a nem telemetriai eseményeket:
| Eseménykategória | Leírás |
|---|---|
| Eszközkapcsolati állapot eseményei | Kibocsátva, amikor egy eszköz csatlakozik egy IoT Hubhoz, vagy leválasztja azt. |
| Eszközéletciklus-események | Kibocsátva, ha egy eszköz vagy modul egy IoT Hubon jön létre vagy törlődik. |
| Ikereszköz-változási események | Az ikereszköz vagy modul módosításakor vagy cseréjekor a rendszer kibocsátja. |
| Digitális ikermódosítási események | Kibocsátva, ha egy eszköz vagy modul digitális ikerpéldánya megváltozik vagy lecserélődik. |
Gyakori eseménytulajdonságok
A nem telemetriai események számos gyakori tulajdonsággal rendelkeznek.
Rendszertulajdonságok
Az IoT Hub az alábbi rendszertulajdonságokat állítja be minden eseményen.
| Tulajdonság | Típus | Leírás | Útválasztási lekérdezés kulcsszója |
|---|---|---|---|
| tartalomkódolás | karakterlánc | utf-8 | $contentEncoding |
| tartalomtípus | karakterlánc | application/json | $contentType |
| korrelációs azonosító | karakterlánc | Az eseményt azonosító egyedi azonosító. | $correlationId |
| felhasználó-azonosító | karakterlánc | Az eseményt létrehozó IoT Hub neve. | $userId |
| iothub-connection-device-id | karakterlánc | Az eszköz azonosítója. | $connectionDeviceId |
| iothub-connection-module-id | karakterlánc | A modul azonosítója. Ez a tulajdonság csak a modul életciklusa és az ikeresemények kimenete. | $connectionModuleId |
| iothub-enqueuedtime | szám | Az értesítés elküldésének dátuma és időpontja. Útválasztási lekérdezésekben használjon ISO 8601-es időbélyeget; például $enqueuedTime > "2022-06-06T22:56:06Z" |
$enqueuedTime |
| iothub-message-source | karakterlánc | Az üzenet forrását azonosító eseménykategória. Például a deviceLifecycleEvents. | n/a |
Az alkalmazás tulajdonságai
Az IoT Hub az alábbi alkalmazástulajdonságokat állítja be az egyes eseményeken.
| Tulajdonság | Típus | Leírás |
|---|---|---|
| deviceId | karakterlánc | Az eszköz azonosítója. |
| hubName | karakterlánc | Az eseményt létrehozó IoT Hub neve. |
| iothub-message-schema | karakterlánc | Az eseménykategóriához társított üzenetséma; például deviceLifecycleNotification. |
| moduleId | karakterlánc | A modul azonosítója. Ez a tulajdonság csak a modul életciklusának és az ikerváltozási eseményeknek a kimenete. |
| operationTimestamp | karakterlánc | A művelet ISO 8601-es időbélyege. |
| opType | karakterlánc | Az eseményt létrehozó művelet azonosítója. Például createDeviceIdentity vagy deleteDeviceIdentity. |
Az útválasztási lekérdezésekben használja a tulajdonság nevét. Például: deviceId = "my-device".
Kapcsolatállapot-események
A kapcsolatállapot-események akkor lesznek kibocsátva, ha egy eszköz vagy modul csatlakozik vagy leválasztja az IoT Hubot.
Alkalmazástulajdonságok: Az alábbi táblázat bemutatja, hogyan vannak beállítva az alkalmazástulajdonságok a kapcsolatállapot-eseményekhez:
| Tulajdonság | Érték |
|---|---|
| iothub-message-schema | deviceConnectionStateNotification |
| opType | deviceConnected vagy deviceDisconnected |
A modulok és az eszközök egyaránt az és deviceConnected az deviceDisconnected alkalmazástulajdonságokat használják a kapcsolatállapot-események jelentésére. Ha az esemény egy modulból származik, akkor az esemény egy tulajdonságot moduleId is tartalmaz. Ha nincs moduleId tulajdonság, akkor az esemény egy eszközről származik.
Rendszertulajdonságok: Az alábbi táblázat bemutatja, hogyan vannak beállítva a rendszertulajdonságok a kapcsolatállapot-eseményekhez:
| Tulajdonság | Érték |
|---|---|
| iothub-message-source | deviceConnectionStateEvents |
Törzs: A törzs sorszámot tartalmaz. A sorszám egy hexadecimális szám sztring-ábrázolása. A sztringek összehasonlításával azonosíthatja a nagyobb számot. Ha a sztringet hexává konvertálja, akkor a szám egy 256 bites szám. A sorszám szigorúan növekszik, ezért a legújabb esemény nagyobb számmal rendelkezik, mint a régebbi események. Ez a sorszám akkor hasznos, ha gyakran csatlakozik és megszakad az eszköz, és biztosítani szeretné, hogy csak a legújabb esemény legyen használva egy alsóbb rétegbeli művelet aktiválásához.
Példa
Az alábbi JSON egy eszközkapcsolati állapot eseményt jelenít meg, amely az eszköz leválasztásakor jelenik meg.
{
"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"
}
}
}
Eszközéletciklus-események
Az eszköz életciklus-eseményei akkor lesznek kibocsátva, ha egy eszközt vagy modult hoznak létre vagy törölnek az identitásjegyzékből. Az eszköz életciklus-eseményeinek létrehozásával kapcsolatos további információkért tekintse meg az eszköz- és moduléletciklus-értesítéseket.
Alkalmazástulajdonságok: Az alábbi táblázat bemutatja, hogyan vannak beállítva az alkalmazástulajdonságok az eszköz életciklus-eseményeihez:
| Tulajdonság | Érték |
|---|---|
| iothub-message-schema | deviceLifecycleNotification |
| opType | Az alábbi értékek egyike: createDeviceIdentity, deleteDeviceIdentity. |
A modulok és az eszközök egyaránt az és createDeviceIdentity az deleteDeviceIdentity alkalmazástulajdonságokat használják a kapcsolatállapot-események jelentésére. Ha az esemény egy modulból származik, akkor az esemény egy tulajdonságot moduleId is tartalmaz. Ha nincs moduleId tulajdonság, akkor az esemény egy eszközről származik.
Rendszertulajdonságok: Az alábbi táblázat bemutatja, hogyan vannak beállítva a rendszertulajdonságok az eszköz életciklus-eseményeihez:
| Tulajdonság | Érték |
|---|---|
| iothub-message-source | deviceLifecycleEvents |
Törzs: A törzs az ikereszköz vagy a modul ikerpéldányának ábrázolását tartalmazza. Tartalmazza az eszközazonosítót és a modulazonosítót, az ikercímkét, a verziótulajdonságot, valamint az ikerpéldány címkéit, tulajdonságait és kapcsolódó metaadatait.
Példa
Az alábbi JSON egy modul létrehozásakor kibocsátott eszközéletciklus-eseményt mutat be. Az eseményt az az iot hub monitor-events Azure CLI-paranccsal rögzíti a rendszer.
{
"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": "createDeviceIdentity",
"iothub-message-schema": "deviceLifecycleNotification"
}
},
"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
}
}
}
}
}
Ikereszköz-változási események
Az ikereszköz-változási események akkor lesznek kibocsátva, ha egy ikereszköz vagy egy modul ikerpéldánya frissül vagy lecserélődik. Egyes esetekben előfordulhat, hogy több módosítás is egyetlen eseménybe van csomagolva. További információkért tekintse meg az ikereszközök háttérműveleteit vagy a modulikrek háttérműveleteit .
Alkalmazástulajdonságok: Az alábbi táblázat az ikereszköz-változási események alkalmazástulajdonságainak beállítását mutatja be:
| Tulajdonság | Érték |
|---|---|
| iothub-message-schema | twinChangeNotification |
| opType | Az alábbi értékek egyike: replaceTwin vagy updateTwin. |
Rendszertulajdonságok: Az alábbi táblázat bemutatja, hogyan vannak beállítva a rendszertulajdonságok az ikereszköz-változási eseményekhez:
| Tulajdonság | Érték |
|---|---|
| iothub-message-source | twinChangeEvents |
Törzs: Frissítési esemény esetén a törzs tartalmazza az ikerpéldány verziótulajdonságait, a frissített címkéket és tulajdonságokat, valamint a hozzájuk tartozó metaadatokat. Csereesemény esetén a törzs tartalmazza az eszközazonosítót és a modulazonosítót, az ikercímkét, a verziótulajdonságot, valamint az eszköz vagy modul ikerpéldányának címkéit, tulajdonságait és kapcsolódó metaadatait.
Példa
Az alábbi JSON egy ikermódosítási eseményt jelenít meg, amely egy kívánt tulajdonság frissítéséhez és egy modul ikerpéldányának címkéjéhez lesz kibocsátva. Az eseményt az az iot hub monitor-events Azure CLI-paranccsal rögzíti a rendszer.
{
"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
}
}
}
}
}
Következő lépések
Az üzenet-útválasztásról további információt az IoT Hub üzenet-útválasztás használata eszközről felhőbe irányuló üzenetek Azure-szolgáltatásokba történő küldéséhez című témakörben talál.
Ha meg szeretné tudni, hogyan adhat hozzá lekérdezéseket az üzenetútvonalakhoz, tekintse meg az IoT Hub üzenet-útválasztási lekérdezési szintaxisát.
Az eszközről a felhőbe és a felhőből az eszközre irányuló üzenetek struktúrájáról az IoT Hub-üzenetek létrehozása és olvasása című témakörben olvashat.