Az Azure IoT Hub mint Event Grid-forrás
Ez a cikk az Azure IoT Hub-események tulajdonságait és sémáját ismerteti. Az eseménysémákról az Azure Event Grid eseményséma című témakörben olvashat.
Elérhető eseménytípusok
Az Azure IoT Hub a következő eseménytípusokat bocsátja ki:
Eseménytípus | Leírás |
---|---|
Microsoft.Devices.DeviceCreated | Egy eszköz IoT-központba regisztrálásakor van közzétéve. |
Microsoft.Devices.DeviceDeleted | Egy eszköz IoT-központból való törlésekor van közzétéve. |
Microsoft.Devices.DeviceConnected | Egy eszköz IoT-központhoz csatlakoztatásakor van közzétéve. |
Microsoft.Devices.DeviceDisconnected | Egy eszköz IoT-központról való leválasztásakor van közzétéve. |
Microsoft.Devices.DeviceTelemetry | Telemetriaüzenet IoT Hubra való küldésekor jelenik meg. |
Példaesemény
Az Eszköz Csatlakozás és a DeviceDisconnected események sémái ugyanazzal a struktúrával rendelkeznek. Ez a mintaesemény egy olyan esemény sémáját mutatja be, amely akkor merül fel, amikor egy eszköz IoT Hubhoz csatlakozik:
[{
"id": "f6bbf8f4-d365-520d-a878-17bf7238abd8",
"source": "/SUBSCRIPTIONS/<subscription ID>/RESOURCEGROUPS/<resource group name>/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/<hub name>",
"subject": "devices/LogicAppTestDevice",
"type": "Microsoft.Devices.DeviceConnected",
"time": "2018-06-02T19:17:44.4383997Z",
"data": {
"deviceConnectionStateEventInfo": {
"sequenceNumber":
"000000000000000001D4132452F67CE200000002000000000000000000000001"
},
"hubName": "egtesthub1",
"deviceId": "LogicAppTestDevice",
"moduleId" : "DeviceModuleID"
},
"specversion": "1.0"
}]
A DeviceTelemetry esemény akkor jön létre, amikor a rendszer telemetriai eseményt küld egy IoT Hubnak. Az eseményhez tartozó mintaséma alább látható.
[{
"id": "9af86784-8d40-fe2g-8b2a-bab65e106785",
"source": "/SUBSCRIPTIONS/<subscription ID>/RESOURCEGROUPS/<resource group name>/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/<hub name>",
"subject": "devices/LogicAppTestDevice",
"type": "Microsoft.Devices.DeviceTelemetry",
"time": "2019-01-07T20:58:30.48Z",
"data": {
"body": {
"Weather": {
"Temperature": 900
},
"Location": "USA"
},
"properties": {
"Status": "Active"
},
"systemProperties": {
"iothub-content-type": "application/json",
"iothub-content-encoding": "utf-8",
"iothub-connection-device-id": "d1",
"iothub-connection-auth-method": "{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}",
"iothub-connection-auth-generation-id": "123455432199234570",
"iothub-enqueuedtime": "2019-01-07T20:58:30.48Z",
"iothub-message-source": "Telemetry"
}
},
"specversion": "1.0"
}]
A DeviceCreated és a DeviceDeleted események sémái ugyanazzal a struktúrával rendelkeznek. Ez a mintaesemény egy olyan esemény sémáját mutatja be, amely akkor merült fel, amikor egy eszköz regisztrálva van egy IoT Hubon:
[{
"id": "56afc886-767b-d359-d59e-0da7877166b2",
"source": "/SUBSCRIPTIONS/<subscription ID>/RESOURCEGROUPS/<resource group name>/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/<hub name>",
"subject": "devices/LogicAppTestDevice",
"type": "Microsoft.Devices.DeviceCreated",
"time": "2018-01-02T19:17:44.4383997Z",
"data": {
"twin": {
"deviceId": "LogicAppTestDevice",
"etag": "AAAAAAAAAAE=",
"deviceEtag": "null",
"status": "enabled",
"statusUpdateTime": "0001-01-01T00:00:00",
"connectionState": "Disconnected",
"lastActivityTime": "0001-01-01T00:00:00",
"cloudToDeviceMessageCount": 0,
"authenticationType": "sas",
"x509Thumbprint": {
"primaryThumbprint": null,
"secondaryThumbprint": null
},
"version": 2,
"properties": {
"desired": {
"$metadata": {
"$lastUpdated": "2018-01-02T19:17:44.4383997Z"
},
"$version": 1
},
"reported": {
"$metadata": {
"$lastUpdated": "2018-01-02T19:17:44.4383997Z"
},
"$version": 1
}
}
},
"hubName": "egtesthub1",
"deviceId": "LogicAppTestDevice"
},
"specversion": "1.0"
}]
Esemény tulajdonságai
Minden esemény ugyanazokat a legfelső szintű adatokat tartalmazza:
Tulajdonság | Típus | Leírás |
---|---|---|
id |
húr | Az esemény egyedi azonosítója. |
source |
húr | Az eseményforrás teljes erőforrás-elérési útja. Ez a mező nem írható. Az értéket az Event Grid adja meg. |
subject |
húr | Az esemény tárgyra mutató, a közzétevő által megadott elérési út. |
type |
húr | Az eseményforráshoz felvett eseménytípusok egyike. |
time |
húr | Az esemény létrehozásának időpontja a szolgáltató UTC-ideje alapján. |
data |
object | IoT Hub-eseményadatok. |
specversion |
húr | A CloudEvents sémaspecifikációs verziója. |
Az összes IoT Hub-esemény esetében az adatobjektum a következő tulajdonságokat tartalmazza:
Tulajdonság | Típus | Leírás |
---|---|---|
hubName |
húr | Annak az IoT Hubnak a neve, ahol az eszközt létrehozták vagy törölték. |
deviceId |
húr | Az eszköz egyedi azonosítója. Ez a kis- és nagybetűk megkülönböztetése legfeljebb 128 karakter hosszúságú lehet, és támogatja az ASCII 7 bites alfanumerikus karaktereket, valamint a következő speciális karaktereket: - : . + % _ # * ? ! ( ) , = @ ; $ ' . |
Az adatobjektum tartalma minden esemény közzétevője esetében eltérő.
Az eszköz Csatlakozás és az eszközről leválasztott IoT Hub-események esetében az adatobjektum a következő tulajdonságokat tartalmazza:
Tulajdonság | Típus | Leírás |
---|---|---|
moduleId |
húr | A modul egyedi azonosítója. Ez a mező csak moduleszközökhöz készült kimenet. Ez a kis- és nagybetűk megkülönböztetése legfeljebb 128 karakter hosszúságú lehet, és támogatja az ASCII 7 bites alfanumerikus karaktereket, valamint a következő speciális karaktereket: - : . + % _ # * ? ! ( ) , = @ ; $ ' . |
deviceConnectionStateEventInfo |
object | Eszközkapcsolat állapotának eseményadatai |
sequenceNumber |
húr | Egy szám, amely jelzi a csatlakoztatott eszköz vagy az eszköz leválasztott eseményeinek sorrendjét. A legújabb esemény sorszáma magasabb lesz, mint az előző esemény. Ez a szám 1-nél többel változhat, de szigorúan növekszik. Megtudhatja , hogyan használhatja a sorszámot. |
Az IoT Hub-esemény eszköztelemetria esetén az adatobjektum az IoT Hub üzenetformátumában tartalmazza az eszközről a felhőbe üzenetet, és a következő tulajdonságokkal rendelkezik:
Tulajdonság | Típus | Leírás |
---|---|---|
body |
húr | Az eszközről érkező üzenet tartalma. |
properties |
húr | Az alkalmazástulajdonságok felhasználó által definiált sztringek, amelyek hozzáadhatók az üzenethez. Ezek a mezők nem kötelezőek. |
system properties |
húr | A rendszertulajdonságok segítenek azonosítani az üzenetek tartalmát és forrását. Az eszköz telemetriai üzenetének érvényes JSON-formátumban kell lennie, a contentType értéke JSON, a contentEncoding pedig UTF-8 értékre van állítva az üzenetrendszer tulajdonságaiban. Ha ez nincs beállítva, akkor az IoT Hub a 64-es alapformátumban fogja írni az üzeneteket. |
Az eszköz által létrehozott és az eszköz által törölt IoT Hub-események esetében az adatobjektum a következő tulajdonságokat tartalmazza:
Tulajdonság | Típus | Leírás |
---|---|---|
twin |
object | Információk az ikereszközről, amely az alkalmazáseszköz metaadatainak felhőalapú ábrázolása. |
deviceID |
húr | Az ikereszköz egyedi azonosítója. |
etag |
húr | Az ikereszköz frissítéseinek konzisztenciájának biztosításához használható érvényesítő. Az egyes etagek garantáltan egyediek lesznek ikereszközenként. |
deviceEtag |
húr | Az eszközregisztrációs adatbázis frissítéseinek konzisztenciájának biztosításához használható érvényesítő. Minden deviceEtag garantáltan egyedi lesz eszközregisztrációs adatbázisonként. |
status |
húr | Azt jelzi, hogy az ikereszköz engedélyezve vagy letiltva van-e. |
statusUpdateTime |
húr | Az ikereszköz legutóbbi állapotfrissítésének ISO8601 időbélyege. |
connectionState |
húr | Azt jelzi, hogy az eszköz csatlakoztatva vagy leválasztva van-e. |
lastActivityTime |
húr | Az utolsó tevékenység ISO8601 időbélyege. |
cloudToDeviceMessageCount |
egész szám | Az eszközre küldött felhőbeli üzenetek száma. |
authenticationType |
húr | Az eszközhöz használt hitelesítési típus: vagy SAS , SelfSigned vagy CertificateAuthority . |
x509Thumbprint |
húr | Az ujjlenyomat az x509-tanúsítvány egyedi értéke, amelyet gyakran használnak egy adott tanúsítvány megkeresésére egy tanúsítványtárolóban. Az ujjlenyomat dinamikusan jön létre az SHA1 algoritmussal, és fizikailag nem létezik a tanúsítványban. |
primaryThumbprint |
húr | Az x509-tanúsítvány elsődleges ujjlenyomata. |
secondaryThumbprint |
húr | Az x509-tanúsítvány másodlagos ujjlenyomata. |
version |
egész szám | Egy egész szám, amely az ikereszköz minden frissítésekor egy-egyvel növekszik. |
desired |
object | A tulajdonságok egy része, amelyet csak az alkalmazás háttérrendszere írhat, és amelyet az eszköz olvas. |
reported |
object | A tulajdonságok egy része, amelyet csak az eszköz írhat, és amelyet az alkalmazás háttérrendszere olvas. |
lastUpdated |
húr | Az ikereszköz legutóbbi tulajdonságfrissítésének ISO8601 időbélyege. |
Oktatóanyagok és útmutatók
Cím | Leírás |
---|---|
E-mail-értesítések küldése az Azure IoT Hub-eseményekről a Logic Apps használatával | A logikai alkalmazások minden alkalommal küldenek értesítési e-mailt, amikor egy eszközt hozzáadnak az IoT Hubhoz. |
Reagáljon az IoT Hub-eseményekre az Event Grid használatával a műveletek aktiválásához | Az IoT Hub és az Event Grid integrálásának áttekintése. |
Csatlakoztatott eszköz és az eszköz leválasztott eseményeinek megrendelése | Az eszköz kapcsolati állapotának eseményeinek megrendelését mutatja be. |
Következő lépések
- Az Azure Event Grid bemutatása: Mi az az Event Grid?
- Az IoT Hub és az Event Grid együttműködésének megismeréséhez lásd : React to IoT Hub events by using Event Grid to trigger actions.