Grundlegendes zu erweiterten Offlinefunktionen für IoT Edge-Geräte und -Module sowie untergeordnete Geräte

Gilt für:IoT Edge 1.4 checkmark IoT Edge 1.4

Wichtig

IoT Edge Version 1.4 wird unterstützt. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.

Azure IoT Edge unterstützt erweiterte Offlinevorgänge auf Ihren IoT Edge-Geräten und ermöglicht auch Offlinevorgänge auf nachgeschalteten Geräten. Wenn ein IoT Edge-Gerät einmal eine Verbindung mit IoT Hub herstellen konnte, kann das Gerät zusammen mit allen nachgeschalteten Geräten auch bei unregelmäßiger oder ohne Internetverbindung weiterhin funktionieren.

Funktionsweise

Wenn ein IoT Edge-Gerät in den Offlinemodus wechselt, übernimmt der IoT Edge-Hub drei Rollen:

  • Er erfasst alle für die Upstream-Übermittlung bestimmten Nachrichten und speichert sie, bis das Gerät wieder eine Verbindung herstellt.
  • Er handelt für IoT Hub zum Authentifizieren von Modulen und nachgeschalteten Geräten, sodass diese weiterhin ausgeführt werden können.
  • Er ermöglicht die Kommunikation zwischen nachgeschalteten Geräten, die normalerweise über IoT Hub durchgeführt würde.

Das folgende Beispiel veranschaulicht ein IoT Edge-Szenario im Offlinemodus:

  1. Konfigurieren von Geräten

    Für IoT Edge-Geräte werden automatisch Offlinefunktionen aktiviert. Wenn Sie diese Funktionalität auf andere Geräte erweitern möchten, müssen Sie die nachgeschalteten Geräte so konfigurieren, dass sie dem ihnen zugewiesenen übergeordneten Gerät vertrauen und die Gerät-zu-Cloud-Kommunikation über das übergeordnete Gerät als Gateway leiten.

  2. Synchronisieren mit IoT Hub

    Mindestens einmal nach der Installation der IoT Edge-Runtime muss das IoT Edge-Gerät online sein, damit die Synchronisierung mit IoT Hub ausgeführt wird. Bei dieser Synchronisierung empfängt das IoT Edge-Gerät Details zu allen ihm zugewiesenen nachgeschalteten Geräten. Das IoT Edge-Gerät aktualisiert zudem auf sichere Weise seinen lokalen Cache, um Offlinevorgänge zu aktivieren und ruft Einstellungen für das lokale Speichern von Telemetrienachrichten.

  3. Offlineschalten

    Während sie von IoT Hub getrennt sind, können das IoT Edge-Gerät, seine bereitgestellten Module und alle nachgeschalteten Geräte zeitlich unbegrenzt betrieben werden. Module und nachgeschaltete Geräte können gestartet und neu gestartet werden, indem die Authentifizierung beim IoT Edge-Hub im Offlinemodus durchgeführt wird. Telemetriedaten für die Upstreamübermittlung an IoT Hub werden lokal gespeichert. Die Kommunikation zwischen Modulen oder zwischen nachgeschalteten Geräten wird durch direkte Methoden oder Nachrichten aufrechterhalten.

  4. Erneutes Verbinden und Synchronisieren mit IoT Hub

    Nach dem Wiederherstellen der Verbindung mit IoT Hub wird die Synchronisierung des IoT Edge-Geräts wieder ausgeführt. Lokal gespeicherte Nachrichten werden umgehend an IoT Hub übermittelt, dies hängt jedoch von der Verbindungsgeschwindigkeit, der IoT Hub-Latenz und ähnlichen Faktoren ab. Die Nachrichten werden in der Reihenfolge übermittelt, in der sie gespeichert wurden.

    Unterschiede zwischen den gewünschten und gemeldeten Eigenschaften der Module und Geräte werden ausgeglichen. Das IoT Edge-Gerät aktualisiert seine Gruppe von zugewiesenen nachgeschalteten Geräten mit den Änderungen.

Einschränkungen

IoT Edge-Geräte und ihre zugewiesenen downstream-Geräte können nach der ersten einmaligen Synchronisierung unbegrenzt offline funktionieren. Die Speicherung von Nachrichten hängt jedoch von der Zeit bis zum Live (TTL) und dem verfügbaren Speicherplatz zum Speichern der Nachrichten ab.

Der EdgeAgent eines Geräts aktualisiert die gemeldeten Eigenschaften jedes Mal, wenn sich der Bereitstellungsstatus ändert, z. B. eine neue oder fehlgeschlagene Bereitstellung. Wenn ein Gerät offline ist, kann der EdgeAgent den Status nicht an das Azure-Portal melden. Daher kann der Gerätestatus im Azure-Portal weiterhin 200 OK lauten, wenn das IoT Edge-Gerät keine Internetverbindung hat.

Einrichten von übergeordneten und untergeordneten Geräten

Bei einem übergeordneten Gerät kann es standardmäßig bis zu 100 untergeordnete Geräte geben. Sie können diesen Grenzwert ändern, indem Sie im edgeHub-Modul die Umgebungsvariable MaxConnectedClients festlegen. Bei einem untergeordneten Gerät gibt es nur ein übergeordnetes Gerät.

Hinweis

Ein nachgeschaltetes Gerät gibt Daten direkt an das Internet oder an Gatewaygeräte (IoT Edge-fähig oder nicht) aus. Ein untergeordnetes Gerät kann ein nachgeschaltetes Gerät oder ein Gatewaygerät in einer geschachtelten Topologie sein.

Nachgeschaltete Geräte können beliebige Geräte (IoT Edge- oder Nicht-IoT Edge-Geräte) sein, die bei demselben IoT Hub registriert wurden.

Weitere Informationen zum Erstellen einer Beziehung zwischen einem IoT Edge-Gerät und einem IoT-Gerät finden Sie unter Authentifizieren eines nachgeschalteten Geräts bei Azure IoT Hub. Die Abschnitte zu symmetrischen Schlüsseln, selbstsigniertem X.509 und durch Zertifizierungsstelle signiertem X.509 zeigen Beispiele, wie Sie das Azure-Portal und die Azure-Befehlszeilenschnittstelle verwenden, um die Beziehungen zwischen über- und untergeordnetem Element beim Erstellen von Geräten zu definieren. Für vorhandene Geräte können Sie die Beziehung von der Seite mit den Gerätedetails im Azure-Portal des übergeordneten oder untergeordneten Geräts deklarieren.

Weitere Informationen zum Erstellen einer Beziehung zwischen zwei IoT Edge-Geräten zwischen zwei IoT-Edgegeräten finden Sie unter Verbinden eines nachgeschalteten IoT Edge-Geräts zu einem Azure IoT Edge-Gateway.

Einrichten des übergeordneten Geräts als Gateway

Sie können sich eine Beziehung über- und untergeordneter Geräte als ein transparentes Gateway vorstellen, bei dem das untergeordnete Gerät über eine eigene Identität in IoT Hub verfügt, aber mit der Cloud über das übergeordnete Gerät kommuniziert. Für eine sichere Kommunikation muss das untergeordnete Gerät überprüfen können, dass das übergeordnete Gerät aus einer vertrauenswürdigen Quelle stammt. Andernfalls könnten Dritte schädliche Geräte einrichten, die die Identität übergeordneter Geräte annehmen und die Kommunikation abfangen.

Eine Möglichkeit zum Erstellen dieser Vertrauensstellung wird in den folgenden Artikeln ausführlich beschrieben:

Angeben von DNS-Servern

Um die Stabilität zu verbessern, wird dringend empfohlen, die in Ihrer Umgebung verwendeten DNS-Serveradressen anzugeben. Wenn Sie Ihren DNS-Server für IoT Edge festlegen möchten, lesen Sie im Artikel zur Problembehandlung die Lösung zu Edge-Agent-Modul meldet „empty config file“, und es werden keine Module auf dem Gerät gestartet.

Optionale Offlineeinstellungen

Wenn Ihre Geräte offline geschaltet werden, speichert das übergeordnete IoT Edge-Gerät alle Gerät-zu-Cloud-Nachrichten, bis die Verbindung wiederhergestellt ist. Das IoT Edge-Hub-Modul verwaltet die Speicherung und Weiterleitung von Offlinenachrichten.

Optimieren Sie die Leistung für Geräte, die über längere Zeiträume offline gehen können, indem Sie zwei IoT Edge-Hubeinstellungen konfigurieren:

  • Erhöhen Sie die Zeit bis zur Liveeinstellung , sodass der IoT Edge-Hub Nachrichten speichert, bis Ihr Gerät erneut verbunden ist.
  • Fügen Sie zusätzlichen Speicherplatz für den Nachrichtenspeicher hinzu.

Gültigkeitsdauer

Die Zeit für die Liveeinstellung ist die Zeitspanne (in Sekunden), die eine Nachricht warten kann, bevor sie abläuft. Der Standardwert ist 7.200 Sekunden (zwei Stunden). Der Höchstwert ist nur durch den Höchstwert einer ganzzahligen Variablen begrenzt und beträgt ca. 2 Milliarden.

Diese Einstellung ist eine gewünschte Eigenschaft des IoT Edge-Hub, die im Modulzwilling gespeichert wird. Sie können sie im Azure-Portal oder direkt im Bereitstellungsmanifest konfigurieren.

"$edgeHub": {
    "properties.desired": {
        "schemaVersion": "1.1",
        "routes": {},
        "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
        }
    }
}

Hostspeicher für Systemmodule

Nachrichten- und Modulzustandsinformationen werden standardmäßig im lokalen Containerdateisystem des IoT Edge-Hubs gespeichert. Für eine höhere Zuverlässigkeit, insbesondere beim Offlinebetrieb, können Sie auch Speicher auf dem Host-IoT Edge-Gerät reservieren. Weitere Informationen finden Sie unter "Gewähren von Modulen Zugriff auf den lokalen Speicher eines Geräts".

Nächste Schritte

Erfahren Sie mehr über das Einrichten eines transparenten Gateways für Ihre Verbindungen über- und untergeordneter Geräte: