Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: IoT Edge 1.5
Wichtig
IoT Edge 1.5 LTS ist das unterstützte Release. IoT Edge 1.4 LTS wurde am 12. November 2024 eingestellt. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.
Mit Azure IoT Edge können Sie Geschäftslogik auf Edgegeräten mithilfe von Modulen bereitstellen und verwalten. Azure IoT Edge-Module sind die kleinste von IoT Edge verwaltete Recheneinheit und kann Azure-Dienste (wie Azure Stream Analytics) oder Ihren eigenen lösungsspezifischen Code enthalten. Wenn Sie verstehen möchten, wie Module entwickelt, bereitgestellt und verwaltet werden, betrachten Sie die vier konzeptionellen Elemente eines Moduls:
- Ein Modulimage ist ein Paket mit der Software, die ein Modul definiert.
- Eine Modulinstanz ist die spezifische Recheneinheit, auf der das Modulimage auf einem IoT Edge-Gerät ausgeführt wird. Die Modulinstanz wird von der IoT Edge-Runtime gestartet.
- Eine Modulidentität ist eine in IoT Hub gespeicherte Information (einschließlich Sicherheitsanmeldeinformationen), die den einzelnen Modulinstanzen zugeordnet wird.
- Ein Modulzwilling ist ein in IoT Hub gespeichertes JSON-Dokument, das Statusinformationen für eine Modulinstanz enthält – darunter Metadaten, Konfigurationen und Bedingungen.
Modulimages und -instanzen
IoT Edge-Modulimages enthalten Anwendungen, die die Verwaltungs-, Sicherheits- und Kommunikationsfeatures der IoT Edge-Runtime nutzen. Sie können Ihre eigenen Modulimages entwickeln oder eines aus einem unterstützten Azure-Dienst exportieren, beispielsweise aus Azure Stream Analytics. Die Images sind in der Cloud vorhanden, und Sie können sie in verschiedenen Lösungen aktualisieren, ändern und bereitstellen. Beispielsweise ist ein Modul, das maschinelles Lernen verwendet, um die Produktion von Produktionslinien vorherzusagen, ein separates Bild von einem Modul mit Computervision zur Steuerung einer Drohne.
Jedes Mal, wenn die IoT Edge-Runtime ein Modulimage auf einem Gerät bereitstellt und startet, wird eine neue Instanz dieses Moduls erstellt. Zwei Geräte in verschiedenen Teilen der Welt könnten dasselbe Modulimage verwenden. Allerdings würde jedes Gerät über eine eigene Modulinstanz verfügen, wenn das Modul auf dem Gerät gestartet wird.
Bei der Implementierung liegen Modulimages als Containerimages in einem Repository vor, und Modulinstanzen sind Container auf Geräten.
Modulidentitäten
Wenn die IoT Edge-Laufzeit eine neue Modulinstanz erstellt, weist sie eine entsprechende Modulidentität zu. IoT Hub speichert die Modulidentität, die als Adressierungs- und Sicherheitsumfang für alle lokalen und Cloudkommunikationen für die Modulinstanz dient.
Die Identität der Modulinstanz hängt von der Identität des Geräts und dem Namen ab, den Sie dem Modul in Ihrer Lösung zuweisen. Wenn Sie beispielsweise ein Modul insight
benennen und es auf einem Gerät mit dem Namen Hannover01
bereitstellen, erstellt die IoT Edge-Laufzeit eine entsprechende Modulidentität mit dem Namen /devices/Hannover01/modules/insight
.
In Szenarien, in denen Sie ein Modulimage mehrmals auf demselben Gerät bereitstellen müssen, können Sie es mit unterschiedlichen Namen bereitstellen.
Modulzwillinge
Jede Modulinstanz verfügt über einen Modulzwilling, den Sie zum Konfigurieren verwenden. Die Modulidentität verknüpft die Instanz und den Zwilling.
Ein Modulzwilling ist ein JSON-Dokument, in dem Modulinformationen und Konfigurationseigenschaften gespeichert sind. Dieses Konzept gleicht dem Konzept des Gerätezwillings in IoT Hub. Die Struktur eines Modul-Zwillings ist identisch mit den Geräte-Twins. Die APIs für die Interaktion mit beiden Arten von Zwillingen sind identisch. Der einzige Unterschied zwischen den beiden ist die zum Instanziieren des Client-SDK verwendete Identitä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();
Offlinefunktionen
Azure IoT Edge-Module arbeiten nach einmaliger Synchronisierung mit dem IoT Hub unbefristet offline. IoT Edge-Geräte können diese Offlinefunktion auch auf andere IoT-Geräte übertragen. Weitere Informationen finden Sie unter Grundlegendes zu erweiterten Offlinefunktionen für IoT Edge-Geräte und -Module sowie nachgeschaltete Geräte.