Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A DPS-ben regisztráló eszközöknek regisztrációs azonosítót és érvényes hitelesítő adatokat (kulcsokat vagy X.509-tanúsítványokat) kell megadniuk a regisztrációkor. Lehetnek azonban olyan IoT-megoldások vagy forgatókönyvek, amelyekben további adatokra van szükség az eszközről. Egy egyéni allokációs házirend webhook például az eszközmodell számához hasonló információkat használhat annak kiválasztásához, hogy melyik IoT Hub-ba legyen üzembe helyezve az eszköz. Hasonlóképpen előfordulhat, hogy egy eszköz további adatokat igényel a regisztrációs válaszban az ügyféloldali logika megkönnyítése érdekében. A DPS lehetővé teszi az eszközök számára, hogy regisztrálva is elküldhessenek és megkapjanak egy opcionális hasznos adatcsomagot.
Mikor lehet használni
Az alábbiakban következnek az opcionális hasznos adatok küldésének gyakori forgatókönyvei:
Az egyéni kiosztási szabályzatok az eszköz terhelési adataival segíthetnek kiválasztani egy IoT központot egy eszközhöz tartozóan, vagy beállíthatják a kezdeti digitális ikert. Előfordulhat például, hogy az eszközmodell alapján szeretné lefoglalni az eszközöket. Ebben az esetben úgy konfigurálhatja az eszközt, hogy regisztrálva jelentse a modelladatait. A DPS átadja az eszköz payload-ját az egyedi kiosztási webhooknak. Ezután a webhook eldöntheti, hogy az eszköz melyik IoT Hubra lesz kiépítve az eszközmodell adatai alapján. Szükség esetén a webhook JSON-objektumként is vissza tudja adni az adatokat az eszköznek a webhook válaszában. További információ: Eszköz terhelési adatainak használata egyedi kiosztásban.
Az IoT Plug and Play (PnP) eszközök lehet, hogy a hasznos adatok használatával küldhetik el a modellazonosítójukat, amikor regisztrálnak a DPS-ben. Erre a használatra az SDK-ban vagy a mintaadattárakban található PnP-mintákban találhat példákat. Például C# PnP termosztát vagy Node.js PnP hőmérsékletvezérlő.
A DPS-sel csatlakozó IoT Central-eszközöknek követniük kell az IoT Plug and Play konvencióinak használatát, és a regisztrációkor el kell küldeniük a modellazonosítójukat. Az IoT Central a modellazonosítóval rendeli hozzá az eszközt a megfelelő eszközsablonhoz. További információkért tekintse meg az eszközök implementálását és az IoT Central ajánlott eljárásait.
Az eszköz adatcsomagot küld a DPS-nek
Amikor az eszköz meghívja a Register Device funkciót a DPS-ben történő regisztrációhoz, további adatokat is tartalmazhat a payload tulajdonságban. Az alábbi JSON például a TPM-igazolással való regisztrálásra irányuló kérelem törzsét mutatja be:
{
"registrationId": "mydevice",
"tpm": {
"endorsementKey": "xxxx-device-endorsement-key-xxxx",
"storageRootKey": "xxx-device-storage-root-key-xxxx"
},
"payload": { A JSON object that contains your additional data }
}
A hasznos adattulajdonságnak JSON-objektumnak kell lennie, és az IoT-megoldással vagy -forgatókönyvvel kapcsolatos adatokat tartalmazhat.
A DPS adatokat ad vissza az eszköznek
A DPS vissza tudja adni az adatokat az eszköznek a regisztrációs válaszban. Ezt a funkciót jelenleg kizárólag egyéni foglalási forgatókönyvekben használják. Ha az egyéni kiosztási szabályzat webhookának adatokat kell visszaadnia az eszköznek, JSON-objektumként továbbíthatja az adatokat a webhook válaszában. A DPS ezt követően vissza fogja adni ezeket az adatokat a registrationState.payload tulajdonságban az Eszköz regisztrálása válaszban. A következő JSON például egy sikeres válasz törzsét mutatja be a TPM-igazolással való regisztrációhoz.
{
"operationId":"5.316aac5bdc130deb.b1e02da8-xxxx-xxxx-xxxx-7ea7a6b7f550",
"status":"assigned",
"registrationState":{
"registrationId":"my-tpm-device",
"createdDateTimeUtc":"2022-08-31T22:02:50.5163352Z",
"assignedHub":"sample-iot-hub-1.azure-devices.net",
"deviceId":"my-tpm-device",
"status":"assigned",
"substatus":"initialAssignment",
"lastUpdatedDateTimeUtc":"2022-08-31T22:02:50.7370676Z",
"etag":"xxxx-etag-value-xxxx",
"tpm": {"authenticationKey": "xxxx-encrypted-authentication-key-xxxxx"},
"payload": { A JSON object that contains the data returned by the webhook }
}
}
A hasznos adattulajdonságnak JSON-objektumnak kell lennie, és az IoT-megoldással vagy -forgatókönyvvel kapcsolatos adatokat tartalmazhat.
SDK-támogatás
Ez a funkció C, C#, JAVA és Node.js ügyféloldali SDK-kban érhető el. Az IoT Hubhoz és az IoT Hub Device Provisioning service-hez elérhető Azure IoT SDK-król további információt a Microsoft Azure IoT SDK-kban talál.
IoT Edge-támogatás
Az IoT Edge az 1.4-es verziótól kezdve támogatja a JSON-fájlban található adattartalom küldését. A rendszer beolvassa és elküldi a hasznos adatfájlt a DPS-nek, amikor az eszköz (újra)regisztrálva van, ami általában az első iotedge config apply
futtatásakor történik. Azt is kényszerítheti, hogy újraolvassák és regisztrálják a parancssori felület újraépítési parancsával iotedge system reprovision
.
Az alábbiakban egy példarészlet látható /etc/aziot/config.toml
-ból, ahol a payload
tulajdonság egy helyi JSON-fájl elérési útjára van beállítva.
[provisioning]
source = "dps"
global_endpoint = "https://global.azure-devices-provisioning.net"
id_scope = "0ab1234C5D6"
# Uncomment to send a custom payload during DPS registration
payload = { uri = "file:///home/aziot/payload.json" }
A hasznos adatfájl (ebben az esetben /home/aziot/payload.json
) bármilyen érvényes JSON-t tartalmazhat, mint például:
{
"modelId": "dtmi:com:example:edgedevice;1"
}
Következő lépések
Az egyéni foglalási szabályzatok áttekintéséért lásd : Az egyéni foglalási szabályzatok ismertetése
Az eszközök egyéni foglalási szabályzatok használatával történő kiépítéséről az Egyéni foglalási szabályzatok használata című témakörben olvashat .