Az identitásjegyzék ismertetése az IoT Hubon
Minden IoT Hub rendelkezik egy identitásjegyzékkel, amely az adott IoT Hubhoz való csatlakozáshoz engedélyezett eszközökről és modulokról tárol információkat. Mielőtt egy eszköz vagy modul csatlakozni tud egy IoT Hubhoz, az IoT Hub identitásjegyzékében kell lennie egy bejegyzésnek az adott eszközhöz vagy modulhoz. Egy eszköz vagy modul az identitásjegyzékben tárolt hitelesítő adatok alapján hitelesíti az IoT Hubot.
Az identitás-beállításjegyzékben tárolt eszközazonosító vagy modulazonosító megkülönbözteti a kis- és nagybetűk megkülönböztetettségétől.
Az identitásjegyzék az identitáserőforrások REST-kompatibilis gyűjteménye. Amikor bejegyzést vesz fel az identitásjegyzékbe, az IoT Hub eszközenkénti erőforrásokat hoz létre, például a repülés közbeni felhőből eszközre irányuló üzeneteket tartalmazó üzenetsort.
Használja az identitásjegyzéket a következőre:
- Az IoT Hubhoz csatlakozó eszközök vagy modulok kiépítése.
- Szabályozhatja az eszközönkénti/modulonkénti hozzáférést a központ végpontjaihoz.
Identitásjegyzék műveletei
Az IoT Hub identitásjegyzéke a következő műveleteket teszi elérhetővé:
- Identitás létrehozása
- Identitás frissítése
- Identitás lekérése azonosító alapján
- Identitás törlése
- Legfeljebb 1000 identitás listázása
- Identitások exportálása az Azure Blob Storage-ba
- Identitások importálása az Azure Blob Storage-ból
Ezek a műveletek a RFC7232 megadott optimista egyidejűséget használhatják.
Az IoT Hub identitásjegyzéke nem tartalmaz alkalmazás metaadatokat.
Fontos
Csak az identitásjegyzéket használja az eszközfelügyeleti és kiépítési műveletekhez. A nagy átviteli sebesség futásidejű műveletei nem függenek az identitásjegyzékben végzett műveletektől. Például egy eszköz kapcsolati állapotának ellenőrzése a parancs elküldése előtt nem támogatott minta. Ellenőrizze az identitásjegyzék szabályozási arányait .
Feljegyzés
Eltarthat néhány másodpercig, hogy egy eszköz vagy modul identitása lekérthető legyen a létrehozás után. Hibák esetén próbálkozzon get
újra az eszköz- vagy modulidentitások működésével.
Eszközök letiltása
Az eszközöket az identitásjegyzékben lévő identitás állapottulajdonságának frissítésével tilthatja le. Ezt a tulajdonságot általában két forgatókönyvben használja:
A kiépítési vezénylési folyamat során. További információ: Eszközkiépítés.
Ha úgy gondolja, hogy egy eszköz biztonsága sérül, vagy bármilyen okból illetéktelenné vált.
Fontos
Az IoT Hub nem ellenőrzi a tanúsítvány-visszavonási listákat az eszközök tanúsítványalapú hitelesítéssel történő hitelesítésekor. Ha olyan eszköze van, amelyet egy potenciálisan feltört tanúsítvány miatt le kell tiltani az IoT Hubhoz való csatlakozástól, tiltsa le az eszközt az identitásjegyzékben.
Ez a funkció nem érhető el modulokhoz.
További információ: Eszköz letiltása vagy törlése egy IoT Hubon.
Eszközidentitások importálása és exportálása
Az IoT Hub identitásjegyzékében található összes identitás lekérésének egyetlen módja az exportálási funkció használata.
Aszinkron műveletek használata az IoT Hub erőforrás-szolgáltató végpontján az eszközidentitások tömeges importálásához vagy exportálásához az IoT Hub identitásjegyzékéből. Az importálások és exportálások hosszú ideig futó feladatok, amelyek egy ügyfél által megadott blobtárolót használnak.
További információ az importálási és exportálási API-król: IoT Hub erőforrás-szolgáltató REST API-k. További információ az importálási és exportálási feladatok futtatásáról: IoT Hub-eszközidentitások tömeges kezelése.
Az eszközidentitások az IoT Hubról is exportálhatók és importálhatók a Service API rest API-val vagy az IoT Hub service SDK-k egyikével.
Eszközkiépítés
Az adott IoT-megoldás által tárolt eszközadatok a megoldás konkrét követelményeitől függnek. A megoldásnak azonban legalább az eszközidentitásokat és a hitelesítési kulcsokat kell tárolnia. Az IoT Hub identitásregisztrációs adatbázisa képes tárolni az egyes eszközök, például azonosítók, hitelesítési kulcsok és állapotkódok értékeit. A megoldások más Azure-szolgáltatásokat is használhatnak, például a Table Storage-t, a Blob Storage-t vagy az Azure Cosmos DB-t más eszközadatok tárolására.
Az eszközkiépítés a kezdeti eszközadatok a megoldásban lévő tárolókhoz való hozzáadásának folyamata. Ha engedélyezni szeretné, hogy egy új eszköz csatlakozzon a központhoz, adjon hozzá egy eszközazonosítót és kulcsokat az IoT Hub identitásjegyzékéhez. A kiépítési folyamat részeként előfordulhat, hogy eszközspecifikus adatokat kell inicializálnia más megoldástárolókban. Az Azure IoT Hub Device Provisioning Service használatával érintésmentes, igény szerinti üzembe helyezést is engedélyezhet egy vagy több IoT Hubon. További információkért tekintse meg a Device Provisioning Service dokumentációját.
Eszköz- és moduléletciklus-értesítések
Az IoT Hub az életciklus-értesítések küldésével értesítheti az IoT-megoldást az eszközidentitás létrehozásakor vagy törlésekor. Ehhez az IoT-megoldásnak létre kell hoznia egy útvonalat, és be kell állítania a DeviceLifecycleEventsnek megfelelő adatforrást. Alapértelmezés szerint a rendszer nem küld életciklus-értesítéseket, azaz nem léteznek ilyen útvonalak. A DeviceLifecycleEvents-lel egyenlő adatforrással rendelkező útvonal létrehozásával az életciklus-eseményeket az eszközidentitások és a modulidentitások is elküldik. Az üzenet tartalma attól függően különbözik, hogy az események modulidentitásokhoz vagy eszközidentitásokhoz jönnek-e létre. Az értesítési üzenetben visszaadott tulajdonságokról és törzsről további információt a Nem telemetriai eseménysémák című témakörben talál.
A modulidentitás-létrehozási értesítések eltérnek az IoT Edge-moduloktól, mint más modulok esetében. IoT Edge-modulok esetén a rendszer csak akkor küldi el a létrehozási értesítést, ha a megfelelő IoT Edge-eszköz fut. Az összes többi modul esetében az életciklus-értesítések akkor lesznek elküldve, amikor a modul identitása frissül az IoT Hub oldalán.
Eszközidentitás tulajdonságai
Az eszközidentitások JSON-dokumentumként jelennek meg a következő tulajdonságokkal:
Tulajdonság | Beállítások | Leírás |
---|---|---|
deviceId | kötelező, írásvédett frissítések | Kis- és nagybetűk megkülönböztetése (legfeljebb 128 karakter hosszú) ASCII 7 bites alfanumerikus karakterekből és bizonyos speciális karakterekből: - . % _ * ? ! ( ) , : = @ $ ' . A speciális karakterek + # nem támogatottak. |
generationId | kötelező, írásvédett | Egy IoT Hub által létrehozott, kis- és nagybetűkre érzékeny sztring legfeljebb 128 karakter hosszú. Ez az érték az azonos deviceId azonosítójú eszközök megkülönböztetésére szolgál, amikor törölték és újra létrehozták őket. |
etag | kötelező, írásvédett | Az eszközidentitás gyenge ETag-ét képviselő sztring, a RFC7232 szerint. |
hitelesítés | választható | Hitelesítési információkat és biztonsági anyagokat tartalmazó összetett objektum. További információ: Hitelesítési mechanizmus a REST API dokumentációjában. |
képességeire | választható | Az eszköz képességeinek készlete. Például azt, hogy az eszköz peremeszköz-e vagy sem. További információ: Eszközképességek a REST API dokumentációjában. |
deviceScope | választható | Az eszköz hatóköre. A peremeszközökön automatikusan generált és nem módosítható. Elavult a nem peremhálózati eszközökön. Gyermek (levél) eszközökön azonban állítsa ezt a tulajdonságot a parentScopes tulajdonsággal (a szülőeszköz deviceScopejával) megegyező értékre az API korábbi verzióival való visszamenőleges kompatibilitás érdekében. További információ: IoT Edge, mint átjáró: Szülő- és gyermekkapcsolatok. |
parentScopes | választható | A gyermekeszköz közvetlen szülőjének hatóköre (a szülőeszköz DeviceScope tulajdonságának értéke). A peremeszközökben az érték üres, ha az eszköznek nincs szülője. A nem peremhálózati eszközökön a tulajdonság nem jelenik meg, ha az eszköznek nincs szülője. További információ: IoT Edge, mint átjáró: Szülő- és gyermekkapcsolatok. |
status | kötelező | Egy hozzáférési jelző. A következők egyike lehet: Enabled vagy Disabled . Ha Enabled , az eszköz csatlakozhat. Ha Disabled , az eszköz nem tud hozzáférni az eszköz felé irányuló végponthoz. |
statusReason | választható | Egy 128 karakter hosszú sztring, amely az eszköz identitásállapotának okát tárolja. Minden UTF-8 karakter megengedett. |
statusUpdateTime | írásvédett | Időmutató, amely az utolsó állapotfrissítés dátumát és időpontját jeleníti meg. |
connectionState | írásvédett | A kapcsolat állapotát jelző mező: vagy Connected Disconnected . Ez a mező az eszköz kapcsolati állapotának IoT Hub nézetét jelöli.
Fontos: Ez a mező csak fejlesztési/hibakeresési célokra használható. A kapcsolat állapota csak az MQTT-t vagy AMQP-t használó eszközök esetében frissül. Emellett protokollszintű pingeken (MQTT pingeken vagy AMQP-pingeken) alapul, és legfeljebb 5 perc késéssel rendelkezhet. Ezen okok miatt előfordulhatnak hamis pozitív értékek, például csatlakoztatottként jelentett leválasztott eszközök. |
connectionStateUpdatedTime | írásvédett | Egy időmutató, amely a kapcsolat állapotának legutóbbi frissítésének dátumát és utolsó időpontját mutatja. |
lastActivityTime | írásvédett | Időjelző, amely az eszköz csatlakoztatásának, fogadásának vagy üzenetküldésének dátumát és utolsó időpontját mutatja. Ez a tulajdonság végül konzisztens, de akár 5–10 percet is késleltethet. Ezért éles forgatókönyvekben nem szabad használni. |
Feljegyzés
A kapcsolat állapota csak a kapcsolat állapotának IoT Hub nézetét jelölheti. Az állapot frissítése a hálózati feltételektől és konfigurációktól függően késhet.
Modulidentitás tulajdonságai
A modulidentitások JSON-dokumentumként jelennek meg a következő tulajdonságokkal:
Tulajdonság | Beállítások | Leírás |
---|---|---|
deviceId | kötelező, írásvédett frissítések | Kis- és nagybetűk megkülönböztetése (legfeljebb 128 karakter hosszú) ASCII 7 bites alfanumerikus karakterekből és bizonyos speciális karakterekből: - . % _ * ? ! ( ) , : = @ $ ' . |
moduleId | kötelező, írásvédett frissítések | Kis- és nagybetűk megkülönböztetése (legfeljebb 128 karakter hosszú) ASCII 7 bites alfanumerikus karakterekből és bizonyos speciális karakterekből: - . % _ * ? ! ( ) , : = @ $ ' . A speciális karakterek + # nem támogatottak. |
generationId | kötelező, írásvédett | Az IoT Hub által létrehozott, kis- és nagybetűkre érzékeny sztring legfeljebb 128 karakter hosszú. Ez az érték az azonos deviceId azonosítójú eszközök megkülönböztetésére szolgál, amikor törölték és újra létrehozták őket. |
etag | kötelező, írásvédett | Az eszközidentitás gyenge ETag-ét képviselő sztring, a RFC7232 szerint. |
hitelesítés | választható | Hitelesítési információkat és biztonsági anyagokat tartalmazó összetett objektum. További információ: Hitelesítési mechanizmus a REST API dokumentációjában. |
managedBy | választható | Azonosítja, hogy ki kezeli ezt a modult. Ez az érték például az IoT Edge , ha a peremhálózati futtatókörnyezet birtokolja ezt a modult. |
cloudToDeviceMessageCount | írásvédett | A modulba jelenleg várólistára helyezett felhőből modulba irányuló üzenetek száma. |
connectionState | írásvédett | A kapcsolat állapotát jelző mező: vagy Connected Disconnected . Ez a mező az eszköz kapcsolati állapotának IoT Hub nézetét jelöli.
Fontos: Ez a mező csak fejlesztési/hibakeresési célokra használható. A kapcsolat állapota csak az MQTT-t vagy AMQP-t használó eszközök esetében frissül. Emellett protokollszintű pingeken (MQTT pingeken vagy AMQP-pingeken) alapul, és legfeljebb 5 perc késéssel rendelkezhet. Ezen okok miatt előfordulhatnak hamis pozitív értékek, például csatlakoztatottként jelentett leválasztott eszközök. |
connectionStateUpdatedTime | írásvédett | Egy időmutató, amely a kapcsolat állapotának legutóbbi frissítésének dátumát és utolsó időpontját mutatja. |
lastActivityTime | írásvédett | Időjelző, amely az eszköz csatlakoztatásának, fogadásának vagy üzenetküldésének dátumát és utolsó időpontját mutatja. |
Kapcsolódó tartalom
Az IoT Hub-végpontok azokat a végpontokat ismertetik, amelyeket az egyes IoT Hubok elérhetővé tehetnek futásidejű és felügyeleti műveletekhez.
Az Azure IoT-eszköz- és szolgáltatási SDK-k felsorolják a különböző nyelvi SDK-kat, amelyeket az IoT Hubot használó eszköz- és szolgáltatásalkalmazások fejlesztésekor használhat.
Az IoT Hub lekérdezési nyelve azt a lekérdezési nyelvet írja le, amiről az IoT Hubtól lekérheti az ikereszközökkel és feladatokkal kapcsolatos információkat.
Az IoT Hub Device Provisioning Service használatával az érintésmentes, igény szerinti üzembe helyezés engedélyezésével kapcsolatos további információért lásd: