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:

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: