Az Azure IoT Edge-modulok ismertetése
A következőkre vonatkozik: IoT Edge 1.5
Fontos
Az IoT Edge 1.5 LTS a támogatott kiadás. Az IoT Edge 1.4 LTS 2024. november 12-én megszűnik. Ha egy korábbi kiadáson dolgozik, olvassa el az IoT Edge frissítése című témakört.
Az Azure IoT Edge lehetővé teszi az üzleti logika üzembe helyezését és kezelését a peremhálózaton modulok formájában. Az Azure IoT Edge-modulok az IoT Edge által felügyelt legkisebb számítási egység, amely azure-szolgáltatásokat (például Azure Stream Analyticset) vagy saját megoldásspecifikus kódot tartalmazhat. A modulok fejlesztésének, üzembe helyezésének és karbantartásának megértéséhez vegye figyelembe a modul négy fogalmi elemét:
- A modul rendszerképe egy modult definiáló szoftvert tartalmazó csomag.
- A modulpéldány a modul lemezképét IoT Edge-eszközön futtató számítási egység. A modulpéldányt az IoT Edge-futtatókörnyezet indítja el.
- A modulidentitás az egyes modulpéldányokhoz társított IoT Hubban tárolt információk (beleértve a biztonsági hitelesítő adatokat is).
- A modul ikerpéldánya egy IoT Hubban tárolt JSON-dokumentum, amely egy modulpéldány állapotadatait tartalmazza, beleértve a metaadatokat, a konfigurációkat és a feltételeket.
Modulképek és -példányok
Az IoT Edge modul lemezképei olyan alkalmazásokat tartalmaznak, amelyek kihasználják az IoT Edge-futtatókörnyezet felügyeleti, biztonsági és kommunikációs funkcióit. Létrehozhat saját modulrendszerképeket, vagy exportálhat egyet egy támogatott Azure-szolgáltatásból, például az Azure Stream Analyticsből. A rendszerképek a felhőben léteznek, és különböző megoldásokban frissíthetők, módosíthatók és üzembe helyezhetők. Például egy olyan modul, amely gépi tanulással előrejelzi a gyártósor kimenetét, külön képként létezik, mint egy olyan modul, amely számítógépes látással vezérli a drónt.
Minden alkalommal, amikor egy modulrendszerképet üzembe helyeznek egy eszközön, és az IoT Edge-futtatókörnyezet elindítja, létrejön a modul új példánya. A világ különböző részein két eszköz ugyanazt a modulképet használhatja. Azonban minden eszköznek saját modulpéldánya lenne, amikor a modul elindul az eszközön.
A megvalósítás során a modulok lemezképei tárolólemezképekként léteznek egy adattárban, a modulpéldányok pedig tárolók az eszközökön.
Modulidentitások
Amikor az IoT Edge-futtatókörnyezet létrehoz egy új modulpéldányt, megkapja a megfelelő modulidentitást. A modulidentitás az IoT Hubban van tárolva, és az adott modulpéldány összes helyi és felhőbeli kommunikációjának címzési és biztonsági hatóköreként használatos.
A modulpéldányhoz társított identitás annak az eszköznek az identitásától függ, amelyen a példány fut, és a megoldásban az adott modulnak megadott névtől függ. Ha például egy Azure Stream Analytics-t használó modult hív meginsight
, és egy úgynevezett Hannover01
eszközön helyezi üzembe, az IoT Edge-futtatókörnyezet létrehoz egy megfelelő modulidentitást./devices/Hannover01/modules/insight
Egyértelmű, hogy olyan helyzetekben, amikor egy modulrendszerképet többször kell üzembe helyeznie ugyanazon az eszközön, ugyanazt a lemezképet többször is üzembe helyezheti különböző néven.
Ikermodulok
Minden modulpéldányhoz tartozik egy megfelelő ikermodul is, amellyel konfigurálhatja a modulpéldányt. A példány és az ikerpéldány a modul identitásán keresztül van társítva egymással.
A modul ikerpéldánya egy olyan JSON-dokumentum, amely a modulinformációkat és a konfigurációs tulajdonságokat tárolja. Ez a koncepció párhuzamos az IoT Hub ikereszköz-koncepcióval . A modul ikerpéldányának felépítése megegyezik az ikereszközével. Az ikerpéldányok mindkét típusával való interakcióhoz használt API-k szintén azonosak. A kettő között az egyetlen különbség az ügyfél SDK példányosításához használt identitás.
// Create a ModuleClient object. This ModuleClient will act on behalf of a
// module since it is created with a module’s connection string instead
// of a device connection string.
ModuleClient client = new ModuleClient.CreateFromEnvironmentAsync(settings);
await client.OpenAsync();
// Get the module twin
Twin twin = await client.GetTwinAsync();
Offline képességek
Az Azure IoT Edge-modulok az IoT Hubbal való szinkronizálás után korlátlan ideig offline működésre képesek. Az IoT Edge-eszközök ezt az offline képességet más IoT-eszközökre is kiterjeszthetik. További információ: Az IoT Edge-eszközök, -modulok és alsóbb rétegbeli eszközök kiterjesztett offline képességeinek ismertetése.