Freigeben über


Starten oder Herunterfahren von Geräten mit Azure IoT und OSConfig

Wichtig

Version 1.0.3 (veröffentlicht am 28. Juni 2022) umfasst die Unterbrechung von Änderungen an Membernamen, die sich auf vorhandene Benutzer auswirken können. Weitere Informationen finden Sie unter: Membernamen Übergang von PascalCase zu CamelCase in Version 1.0.3

Zielgruppe und Bereich

Dieser Artikel soll Personen unterstützen, die Geräte mit Azure IoT bereitstellen oder verwalten . Wenn dies nicht wie Sie klingt, sollten Sie sich die Zielgruppe für die OSConfig-Dokumentation ansehen.

In diesem Artikel wird erläutert, wie Sie Geräte mit dem CommandRunner-Feature von OSConfig neu starten oder herunterfahren. Dieser Artikel konzentriert sich auf praktische Beispiele mit minimaler Erläuterung. Technische Hintergründe im CommandRunner-Feature , das Interaktionsmodell usw. finden Sie unter "Interagieren" mit dem CommandRunner-Feature von OSConfig und Azure IoT.

Beispiele für Anwendungsfälle

Voraussetzungen zum Testen der Beispiele für Live-Systeme

Wenn Sie diesen Artikel für Referenz verwenden (z. B. hier, um einen Eigenschaftennamen zu kopieren), gibt es keine Voraussetzungen.

Wenn Sie die Beispiele für Livesysteme (empfohlen) ausprobieren möchten, dann:

  1. Sie benötigen ein Azure-Konto mit einem IoT Hub

    In diesem Artikel wird davon ausgegangen, dass IoT Hub und verwandte Tools vertraut sind. Es wird z. B. davon ausgegangen, dass Sie IoT Hubs und Anfügen von Geräten bequem erstellen. Wenn Sie eine schrittweisere Einführung in die Installation und Verwendung von OSConfig von Grund auf bevorzugen, lesen Sie: Schnellstart: Verwalten eines einzelnen virtuellen IoT-Geräts mithilfe von Azure CLI stattdessen.

  2. Sie benötigen mindestens ein Linux-Gerät mit dem OSConfig-Agent, der installiert und mit Azure IoT verbunden ist.

    Weitere Informationen finden Sie unter: How and where to install the OSConfig agent for Linux.

  3. Sie verwenden Azure Portal oder Azure CLI zum Interagieren mit den Geräten über Ihre IoT Hub

    Wenn Sie weitere Schritte ausführen möchten, wählen Sie Ihre bevorzugte Erfahrung aus:

  1. Stellen Sie sicher, dass Sie beim Azure-Portal angemeldet sind und auf die Übersichtsseite Ihres IoT Hub zugreifen können, der IoT Hub und Geräte aus dem Azure-Portal anzeigt.

Beispiel A. Starten Sie ein oder mehrere Geräte neu

Für die einzelnen Gerätebeispiele können Sie die Neustartrichtlinie direkt dem OSConfig-Twin des Geräts hinzufügen, das Sie neu starten möchten.

In den Beispielen im Maßstab stellen wir uns vor, mit einem externen Prozess zu arbeiten, der Tags zu Geräten hinzufügt und entfernt needsReboot . Wir erstellen eine IoT Hub Konfiguration, die dynamisch auf Geräte abzielt, auf die das needsReboot Tag im osconfig-Twin festgelegt ist. Wir simulieren diesen externen Prozess, indem wir das Tag explizit festlegen.

  1. Navigieren Sie auf der Portalseite Ihres IoT Hub zum OSConfig-Twin für das Gerät, das Sie verwalten möchten, und fügen Sie dem properties.desired Abschnitt gefolgt von einem Komma ein Komma hinzu, um sie vom nächsten Element zu properties.desiredtrennen. action=1 unten gibt den Neustart an.

    "CommandRunner": {
       "__t": "c",
       "commandArguments": {
          "commandId": "reboot_single_device_cmd",
          "arguments": "",
          "timeout": 30,
          "singleLineTextResult": false,
          "action": 1
       }
    }
    

    Bildschirmaufnahme mit dem Neustart eines bestimmten Geräts mithilfe des OSConfig-Moduls aus Azure Portal

  2. Optional: Sobald das Gerät online ist (dies dauert einige Minuten), können Sie den properties.reported Abschnitt überprüfen und nach dem BefehlStatus suchen, der die Neustartaktion erfolgreich anzeigt, wie unten gezeigt.

    "CommandRunner": {
       "__t": "c",
       "commandStatus": {
          "commandId": "reboot_single_device_cmd",
          "resultCode": 0,
          "textResult": "",
          "currentState": 2
       }
    }
    

1.Optional: Sie können sich auch auf Ihrem Gerät oder vm anmelden, um zu überprüfen, nachdem das Gerät neu gestartet wurde.

Beispiel B. Herunterfahren anstelle des Neustarts

Das Remote-Herunterfahren von Edge-/IoT-Geräten (im Gegensatz zum Neustarten) ist ein weniger gängiger Vorgang, da das Gerät später nicht verfügbar ist (auf eine außerhalb der Band-Möglichkeit, es wieder zu starten). Selbst dann gibt es reale Fälle, die remote heruntergefahren werden. Stellen Sie sich ein Problemgerät vor, das beschädigte Daten sendet, überlastet satellitenübertragungsbytes, wird als kompromittiert angenommen oder sonst mehr Schaden als gut. In solchen Fällen kann es wünschenswert sein, das Gerät herunterzufahren, bis es ersetzt oder repariert werden kann.

Zum Ausführen des Herunterfahrens von Geräten über OSConfig können Sie dieselben Cloudworkflows wie Beispiel A verwenden, aber "action": 2 nicht (herunterfahren) als "action": 1 (Neustart) in commandArguments. Bitte beachten Sie, dass jede Anforderung in CommandRunner einen neuen CommandId-Wert benötigt. Wenn Sie beispielsweise bereits einen Neustart in Beispiel A ausgeführt haben und jetzt zum Herunterfahren wechseln möchten, müssen Sie CommandArguments nicht nur "action": 2 mit, sondern auch mit einem nicht zuvor verwendeten Wert für commandId ändern, z "commandId": "my_shutdown_cmd". B. . Weitere Informationen zum CommandRunner-Interaktionsmodell finden Sie unter: Interagieren mit dem CommandRunner-Feature von OSConfig und Azure IoT.

Nächste Schritte

Eine Übersicht über OSConfig-Szenarien und -Funktionen finden Sie unter:

Spezifische praktische Beispiele finden Sie unter: