Az IoT Hub identitásjegyzékének ismertetése
Minden IoT Hub rendelkezik egy identitásjegyzékkel, amely az IoT Hubhoz való csatlakozáshoz engedélyezett eszközökről és modulokról tárol információkat. Ahhoz, hogy egy eszköz vagy modul csatlakozni tud egy IoT Hubhoz, meg kell adni egy bejegyzést az adott eszközhöz vagy modulhoz az IoT Hub identitásjegyzékében. Az eszköznek vagy modulnak az IoT Hubbal is hitelesítenie kell magát az identitásjegyzékben tárolt hitelesítő adatok alapján.
Az identitásregisztrációs adatbázisban tárolt eszköz- vagy modulazonosító megkülönbözteti a kis- és nagybetűk megkülönböztetésével kapcsolatos adatokat.
Az identitásjegyzék magas szinten az eszköz- vagy modulidentitás-erőforrások REST-kompatibilis gyűjteménye. Amikor hozzáad egy bejegyzést az identitásjegyzékben, IoT Hub eszközenkénti erőforrásokat hoz létre, például az üzenetsort, amely a repülés közbeni felhőből az eszközre irányuló üzeneteket tartalmazza.
A következő esetekben használja az identitásjegyzéket:
- 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 eszköz- vagy moduloldali végpontjaihoz.
Identitásjegyzék műveletei
Az IoT Hub identity registry a következő műveleteket teszi közzé:
- Eszköz- vagy modulidentitás létrehozása
- Eszköz- vagy modulidentitás frissítése
- Eszköz- vagy modulidentitás lekérése azonosító alapján
- Eszköz- vagy modulidentitás törlése
- Legfeljebb 1000 identitás listázása
- Eszközidentitások exportálása Azure Blob Storage-ba
- Eszközidentitások importálása az Azure Blob Storage-ból
Ezek a műveletek az RFC7232-ben meghatározott optimista egyidejűséget használhatnak.
Fontos
Az IoT Hub identitásjegyzékében található összes identitás lekérésének egyetlen módja az Exportálás funkció használata.
Egy IoT Hub identitásjegyzék:
- 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 futásidőben végzett nagy átviteli sebesség nem függhet az identitásjegyzékben végrehajtott műveletektől. Például az eszköz kapcsolati állapotának ellenőrzése a parancs elküldése előtt nem támogatott minta. Ellenőrizze az identitásregisztrációs adatbázis szabályozási sebességét .
Megjegyzés
Eltarthat néhány másodpercig, hogy egy eszköz- vagy modulidentitás a létrehozás után lekérésre elérhető legyen. 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 jogosulatlanná vált.
Fontos
IoT Hub nem ellenőrzi a visszavont tanúsítványok listáját, amikor tanúsítványalapú hitelesítéssel hitelesíti az eszközöket. Ha olyan eszköze van, amelyet egy potenciálisan feltört tanúsítvány miatt le kell tiltani a IoT Hub való csatlakozásban, tiltsa le az eszközt az identitásjegyzékben.
Ez a funkció modulokhoz nem érhető el.
További információ: Eszköz letiltása vagy törlése IoT Hubon.
Eszközidentitások importálása és exportálása
Aszinkron műveletek használata az IoT Hub erőforrás-szolgáltató végpontján az eszközidentitások tömeges exportálásához egy IoT Hub identitásjegyzékéből. Az exportálások olyan hosszú ideig futó feladatok, amelyek egy ügyfél által biztosított blobtárolót használnak az eszközidentitás-adatoknak az identitásjegyzékből történő mentéséhez.
Használjon aszinkron műveleteket az IoT Hub erőforrás-szolgáltató végpontján az eszközidentitások tömeges importálásához egy IoT Hub identitásjegyzékbe. Az importálások olyan hosszú ideig futó feladatok, amelyek egy ügyfél által megadott blobtárolóban lévő adatokat használnak az eszközidentitás-adatok identitásadatainak az identitásjegyzékbe való írásához.
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 exportálhatók és importálhatók az IoT Hubról is a Service API rest API-val vagy a 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. Azure IoT Hub tartalmaz egy identitásjegyzéket, amely képes tárolni az egyes eszközök értékeit, például azonosítókat, hitelesítési kulcsokat és állapotkódokat. A megoldások más Azure-szolgáltatásokat is használhatnak, például a Table Storage-ot, a Blob Storage-ot vagy az Azure Cosmos DB-t más eszközadatok tárolására.
Az eszközkiépítés a kezdeti eszközadatoknak a megoldásban lévő tárolókhoz való hozzáadásának folyamata. Ahhoz, hogy egy új eszköz csatlakozni tudjon a központhoz, hozzá kell adnia egy eszközazonosítót és -kulcsokat a 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. A 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 emberi beavatkozás nélkül. További információért tekintse meg a kiépítési szolgáltatás dokumentációját.
Eszköz- és moduléletciklus-értesítések
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 a DeviceLifecycleEvents értéknek megfelelő adatforrást kell beállítania. Alapértelmezés szerint a rendszer nem küld életciklus-értesítéseket, azaz nem léteznek ilyen útvonalak. A DeviceLifecycleEvents adatforrással megegyező útvonal létrehozásával az életciklus-eseményeket az eszközidentitások és a modulidentitások számára is elküldi a rendszer; az üzenet tartalma azonban eltér attól függően, hogy az események modulidentitásokhoz vagy eszközidentitásokhoz jönnek létre. Meg kell jegyezni, hogy IoT Edge modulok esetében a modulidentitás-létrehozási folyamat eltér a többi modultól, ezért IoT Edge modulok esetében a létrehozási értesítést csak akkor küldi el a rendszer, ha a frissített IoT Edge modulidentitás megfelelő IoT Edge eszköz fut. Az összes többi modul esetében az életciklus-értesítések akkor lesznek elküldve, amikor a modulidentitás frissül az IoT Hub oldalon. 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.
Eszközidentitás tulajdonságai
Az eszközidentitások JSON-dokumentumokként jelennek meg a következő tulajdonságokkal:
Tulajdonság | Beállítások | Leírás |
---|---|---|
deviceId | kötelező, csak olvasható frissítések esetén | 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, amely legfeljebb 128 karakter hosszú lehet. Ez az érték megkülönbözteti az azonos deviceId azonosítójú eszközöket, amikor törölték és újra létrehozták őket. |
Etag | kötelező, írásvédett | Az eszközidentitás gyenge ETag-jének sztringje az RFC7232 szerint. |
hitelesítés | választható | Egy összetett objektum, amely hitelesítési információkat és biztonsági anyagokat tartalmaz. További információ: Hitelesítési mechanizmus a REST API dokumentációjában. |
képességek | választható | Az eszköz képességeinek halmaza. 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. Peremeszközökben 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 deviceScope tulajdonságával) azonos értékre az API korábbi verzióival való visszamenőleges kompatibilitás érdekében. További információ: IoT Edge átjáróként: 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). Peremeszközök esetén 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 átjáróként: Szülő- és gyermekkapcsolatok. |
status | kötelező | Egy hozzáférési jelző. Engedélyezhető vagy letiltható. Ha engedélyezve van, az eszköz csatlakozhat. Ha le van tiltva, az eszköz nem tud hozzáférni egyetlen eszközre néző végponthoz sem. |
statusReason | választható | Egy 128 karakter hosszúságú sztring, amely az eszközidentitás állapotának okát tárolja. Minden UTF-8 karakter megengedett. |
statusUpdateTime | írásvédett | Egy időbeli mutató, amely az utolsó állapotfrissítés dátumát és időpontját mutatja. |
connectionState | írásvédett | A kapcsolat állapotát jelző mező: Csatlakoztatva vagy Leválasztva. 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 okokból előfordulhatnak hamis pozitívumok, például a csatlakoztatottként jelentett leválasztott eszközök. |
connectionStateUpdatedTime | írásvédett | Egy temporális mutató, amely a kapcsolati állapot frissítésének dátumát és utolsó időpontját mutatja. |
lastActivityTime | írásvédett | Egy időbeli mutató, 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. |
Megjegyzés
A kapcsolat állapota csak a kapcsolat állapotának IoT Hub nézetét jelölheti. Frissítések erre az állapotra a hálózati feltételektől és konfigurációktól függően késhet.
Megjegyzés
Az eszközoldali SDK-k jelenleg nem támogatják a és #
a +
karakterek használatát az eszközazonosítóban.
Modulidentitás tulajdonságai
A modulidentitások JSON-dokumentumokként jelennek meg a következő tulajdonságokkal:
Tulajdonság | Beállítások | Leírás |
---|---|---|
deviceId | kötelező, csak olvasható 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ő, csak olvasható 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: - . + % _ # * ? ! ( ) , : = @ $ ' . |
generationId | kötelező, írásvédett | Egy IoT Hub által létrehozott, legfeljebb 128 karakter hosszúságú kis- és nagybetűkre érzékeny sztring. 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-jének megfelelő sztring, az RFC7232 szerint. |
hitelesítés | választható | Egy összetett objektum, amely hitelesítési információkat és biztonsági anyagokat tartalmaz. 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 "IoT Edge", ha a peremhálózati futtatókörnyezet a modul tulajdonosa. |
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ő: Csatlakoztatva vagy Leválasztva. 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 okokból előfordulhatnak hamis pozitívumok, például a csatlakoztatottként jelentett leválasztott eszközök. |
connectionStateUpdatedTime | írásvédett | Egy temporális mutató, amely a kapcsolati állapot frissítésének dátumát és utolsó időpontját mutatja. |
lastActivityTime | írásvédett | Egy időbeli mutató, amely az eszköz csatlakoztatásának, fogadásának vagy üzenetküldésének dátumát és utolsó időpontját mutatja. |
Megjegyzés
Az eszközoldali SDK-k jelenleg nem támogatják az +
eszközazonosítóban és a modulazonosítóban szereplő és #
karakterek használatát.
További referenciaanyag
A IoT Hub fejlesztői útmutatóban található további referenciacikkek a következők:
IoT Hub végpontok ismertetik azokat a végpontokat, amelyeket az egyes IoT Hubok a futásidejű és felügyeleti műveletekhez elérhetővé tesz.
A szabályozás és a kvóták a IoT Hub szolgáltatásra vonatkozó kvótákat és szabályozási viselkedéseket ismertetik.
Az Azure IoT-eszköz- és szolgáltatásoldali SDK-k felsorolják a különböző nyelvi SDK-kat, amelyeket a IoT Hub használó eszköz- és szolgáltatásalkalmazások fejlesztésekor is használhat.
IoT Hub lekérdezési nyelv azt a lekérdezési nyelvet írja le, a használatával, a IoT Hub az ikereszközökkel és feladatokkal kapcsolatos információk lekéréséhez.
IoT Hub MQTT-támogatás további információt nyújt az MQTT protokoll IoT Hub támogatásáról.
Következő lépések
Most, hogy megismerte a IoT Hub identitásjegyzék használatát, a következő IoT Hub fejlesztői útmutatók érdekelhetik:
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: