Az identitásjegyzék ismertetése az IoT Hubon
Minden IoT Hub rendelkezik egy identitásjegyzékkel, amely információkat tárol az IoT Hubhoz való csatlakozáshoz engedélyezett eszközökről és modulokról. 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. Az eszköznek vagy modulnak az identitásjegyzékben tárolt hitelesítő adatok alapján is hitelesítenie kell az IoT Hubot.
Az identitásjegyzékben tárolt eszköz- vagy modulazonosító megkülönbözteti a kis- és nagybetűk megkülönböztetett adatait.
Az identitásjegyzék magas szinten az eszköz- vagy modul-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.
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 modulalapú végpontjaihoz.
Identitásjegyzék műveletei
Az IoT Hub identitásjegyzéke a következő műveleteket teszi elérhetővé:
- Eszköz- vagy modulidentitás létrehozása
- Eszköz vagy modul identitásának frissítése
- Eszköz vagy modul identitásának lekérése azonosító alapján
- Eszköz vagy modul identitásának törlése
- Legfeljebb 1000 identitás listázása
- Eszközidentitások exportálása az Azure Blob Storage-ba
- Eszközidentitások importálása az Azure Blob Storage-ból
Ezek a műveletek a RFC7232 megadott optimista egyidejűséget használhatják.
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.
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 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 erőforrás-szolgáltató végpontján aszinkron műveletekkel tömegesen exportálhatja az eszközidentitásokat az IoT Hub identitásjegyzékéből. Az exportálások olyan régóta futó feladatok, amelyek egy ügyfél által megadott blobtárolót használnak az eszközidentitás-adatok az identitásjegyzékből való olvasásához.
Az IoT Hub erőforrás-szolgáltató végpontjának aszinkron műveleteivel tömegesen importálhat eszközidentitásokat egy IoT Hub identitásjegyzékbe. Az importálások olyan régóta futó feladatok, amelyek egy ügyfél által megadott blobtárolóban lévő adatokat használnak az eszköz 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 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 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-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. Ahhoz, hogy egy új eszköz csatlakozni tudjon a központhoz, hozzá kell adnia 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 emberi beavatkozás nélkül. További információkért tekintse meg a kiépítési szolgáltatás 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 adatforrással megegyező ú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 | 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. |
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ő. Engedélyezhető vagy letiltható. Ha engedélyezve van, az eszköz csatlakozhat. Ha le van tiltva, az eszköz nem tud hozzáférni az eszközre néző 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ő: 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 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.
Feljegyzés
Az eszköz SDK-k jelenleg nem támogatják az +
eszközazonosítóban szereplő karakterek és #
karakterek használatát.
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: - . + % _ # * ? ! ( ) , : = @ $ ' . |
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 "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 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. |
Feljegyzés
Az eszköz SDK-k jelenleg nem támogatják a +
deviceId és #
a moduleId karakterek használatát.
További referenciaanyagok
Az IoT Hub fejlesztői útmutatójában található további referenciacikkek a következők:
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.
A szabályozás és a kvóták az IoT Hub szolgáltatásra vonatkozó kvótákat és szabályozási viselkedéseket ismertetik.
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 MQTT-támogatása 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 az IoT Hub identitásjegyzékének használatát, az alábbi IoT Hub fejlesztői útmutatókban olvashat:
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: