Teilen über


Verständnis von erweiterten Offlinefunktionen für IoT Edge-Geräte, -Module und untergeordnete Geräte.

Gilt für:Ja-Symbol IoT Edge 1.1

Wichtig

IoT Edge 1.1 Ende des Supports war der 13. Dezember 2022. Informationen darüber, wie dieses Produkt, dieser Dienst, diese Technologie oder diese API unterstützt werden, finden Sie im Microsoft Product Lifecycle. Weitere Informationen zum Aktualisieren auf die neueste Version von IoT Edge finden Sie unter Update 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. Zunächst erfasst er alle für die Upstream-Übermittlung bestimmten Nachrichten und speichert sie, bis das Gerät wieder eine Verbindung herstellt. Zweitens handelt es im Namen von IoT Hub, um Module und nachgelagerte Geräte zu authentifizieren, damit sie weiterhin funktionieren können. Drittens ermöglicht es die Kommunikation zwischen nachgeschalteten Geräten, die normalerweise über IoT Hub gehen würden.

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, die für die Übertragung an den IoT Hub bestimmt sind, 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 alle Änderungen an seiner Gruppe von zugewiesenen nachgeschalteten Geräten.

Einschränkungen und Begrenzungen

Die in diesem Artikel beschriebenen erweiterten Offlinefunktionen sind in IoT Edge Version 1.0.7 oder höher verfügbar. Frühere Versionen verfügen nur über einen Teil dieser Offlinefunktionen. Für vorhandene IoT Edge-Geräte, die über keine erweiterten Offlinefunktionen verfügen, kann kein Upgrade durch Ändern der Runtime-Version ausgeführt werden. Stattdessen sind sie mit einer neuen IoT Edge-Geräteidentität zu konfigurieren, damit diese Funktionen verfügbar werden.

Nur Nicht-IoT Edge-Geräte können als nachgeschaltete Geräte hinzugefügt werden.

IoT Edge-Geräte und deren zugewiesene nachgeschaltete Geräte können nach der einmaligen Erstsynchronisierung unbegrenzt offline funktionieren. Die Speicherung von Nachrichten ist jedoch abhängig von der Gültigkeitsdauer (Time to Live, TTL) und dem verfügbaren Speicherplatz zum Speichern der Nachrichten.

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.

Richten Sie übergeordnete und untergeordnete Geräte ein

Standardmäßig kann ein übergeordnetes Gerät bis zu 100 untergeordnete Geräte haben. Sie können diesen Grenzwert ändern, indem Sie im edgeHub-Modul die Umgebungsvariable MaxConnectedClients festlegen. Ein Kindgerät hat nur ein Elternteil.

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 in einer geschachtelten Topologie entweder ein nachgeschaltetes Gerät oder ein Gateway-Gerät sein.

Nachgeschaltete Geräte können alle Nicht-IoT Edge-Geräte sein, die auf demselben IoT Hub registriert sind.

Wenn Sie mit dem Erstellen einer Eltern-Kind-Beziehung zwischen einem IoT Edge-Gerät und einem IoT-Gerät nicht vertraut sind, lesen Sie Authentifizieren eines nachgeordneten Geräts bei Azure IoT Hub. Die Bereiche zu symmetrischen Schlüsseln, selbstsigniertem X.509 und durch die Zertifizierungsstelle signiertem X.509 zeigen Beispiele dafür, wie Sie das Azure-Portal und die Azure-CLI verwenden, um die Beziehungen zwischen über- und untergeordneten Elementen beim Erstellen von Geräten zu definieren. Für vorhandene Geräte können Sie die Beziehung von der Seite "Gerätedetails" des übergeordneten oder untergeordneten Geräts deklarieren.

Richten Sie das übergeordnete Gerät als Gateway ein

Sie können sich die Beziehung zwischen einem übergeordneten und einem untergeordneten Gerät wie ein transparentes Gateway vorstellen, bei dem das untergeordnete Gerät über eine eigene Identität im IoT Hub verfügt, aber mit der Cloud über das übergeordnete Gerät kommuniziert. Für eine sichere Kommunikation muss das Kindgerät in der Lage sein zu überprüfen, dass das Elterngerät aus einer vertrauenswürdigen Quelle stammt. Andernfalls könnten Dritte schädliche Geräte installieren, um sich als Eltern auszugeben und die Kommunikation abzufangen.

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

DNS-Server angeben

Zur Verbesserung der Stabilität empfiehlt es sich dringend, 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. Bei Geräten, die möglicherweise über längere Zeiträume offline sind, optimieren Sie die Leistung, indem zwei IoT Edge-Hub-Einstellungen konfigurieren.

Legen Sie zunächst eine höhere Einstellung für die Gültigkeitsdauer fest, damit der IoT Edge-Hub Nachrichten so lange aufbewahrt, bis Ihr Gerät wieder verbunden ist. Fügen Sie dann zusätzlichen Speicherplatz für den Nachrichtenspeicher hinzu.

Zeit zum Leben

Die Time-to-Live-Einstellung gibt die Zeit (in Sekunden) an, wie lange eine Nachricht auf die Zustellung 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-Hubs, die im Modulzwilling gespeichert wird. Sie können sie im Azure-Portal oder direkt im Bereitstellungsmanifest konfigurieren.

"$edgeHub": {
    "properties.desired": {
        "schemaVersion": "1.0",
        "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 des Zugriffs auf Module auf den lokalen Speicher eines Geräts".

Nächste Schritte

Erfahren Sie mehr über das Einrichten eines transparenten Gateways für Ihre Verbindungen von über- und untergeordneten Geräten.