Megosztás a következőn keresztül:


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:

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: