Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: IoT Edge 1.5
Viktigt!
IoT Edge 1.5 LTS är den version som stöds. IoT Edge 1.4 LTS upphör från och med den 12 november 2024. Om du har en tidigare version läser du Uppdatera IoT Edge.
Med Azure IoT Edge kan du distribuera och hantera affärslogik på gränsenheter med hjälp av moduler. Azure IoT Edge-moduler är den minsta beräkningsenheten som hanteras av IoT Edge och kan innehålla Azure-tjänster (till exempel Azure Stream Analytics) eller din egen lösningsspecifika kod. För att förstå hur moduler utvecklas, distribueras och underhålls bör du överväga de fyra konceptuella elementen i en modul:
- En modulbild är ett paket som innehåller programvaran som definierar en modul.
- En modulinstans är den specifika beräkningsenhet som kör modulbilden på en IoT Edge-enhet. Modulinstansen startas av IoT Edge-runtime.
- En modulidentitet är en informationsdel (inklusive säkerhetsautentiseringsuppgifter) som lagras i IoT Hub och som är associerad med varje modulinstans.
- En modultvilling är ett JSON-dokument som lagras i IoT Hub och som innehåller tillståndsinformation för en modulinstans, inklusive metadata, konfigurationer och villkor.
Modulbilder och instanser
IoT Edge-modulbilder innehåller program som utnyttjar hanterings-, säkerhets- och kommunikationsfunktionerna i IoT Edge-körmiljön. Du kan utveckla egna modulbilder eller exportera en från en Azure-tjänst som stöds, till exempel Azure Stream Analytics. Avbildningarna finns i molnet och du kan uppdatera, ändra och distribuera dem i olika lösningar. En modul som använder maskininlärning för att förutsäga produktionslinjeutdata är till exempel en separat bild från en modul som använder visuellt innehåll för att styra en drönare.
Varje gång IoT Edge-körningen distribuerar och startar en modulavbildning på en enhet skapar den en ny instans av modulen. Två enheter i olika delar av världen kan använda samma modulbild. Varje enhet skulle dock ha en egen modulinstans när modulen startas på enheten.
Under implementeringen finns modulavbildningar som containeravbildningar på en lagringsplats och modulinstanser är containrar på enheter.
Modulidentiteter
När IoT Edge-körningen skapar en ny modulinstans tilldelar den en motsvarande modulidentitet. IoT Hub lagrar modulidentiteten, som fungerar som adress- och säkerhetsomfång för all lokal kommunikation och molnkommunikation för modulinstansen.
Modulinstansens identitet beror på enhetens identitet och namnet du tilldelar modulen i din lösning. Om du till exempel namnger en modul insight
och distribuerar den på en enhet med namnet Hannover01
skapar IoT Edge-körningen en motsvarande modulidentitet med namnet /devices/Hannover01/modules/insight
.
I scenarier där du behöver distribuera en modulbild flera gånger på samma enhet kan du distribuera den med olika namn.
Modultvillingar
Varje modulinstans har en motsvarande modultvilling som du använder för att konfigurera den. Modulidentiteten länkar instansen och tvillingen.
En modultvilling är ett JSON-dokument som lagrar modulinformation och konfigurationsegenskaper. Det här konceptet parallellar enhetstvillingkonceptet från IoT Hub. En modultvillings struktur är densamma som en enhetstvillings. API:erna för att interagera med båda typerna av tvillingar är desamma. Den enda skillnaden mellan de två är den identitet som används för att instansiera klient-SDK:t.
// 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();
Offlinefunktioner
Azure IoT Edge-moduler fungerar offline på obestämd tid efter synkronisering med IoT Hub en gång. IoT Edge-enheter kan också utöka den här offlinefunktionen till andra IoT-enheter. Mer information finns i Förstå utökade offlinefunktioner för IoT Edge-enheter, moduler och underordnade enheter.