Freigeben über


Bereitstellen von Azure IoT Edge-Modulen mit Azure CLI

Gilt für:Häkchen für IoT Edge 1.5 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.

Nachdem Sie Azure IoT Edge-Module mit Ihrer Geschäftslogik erstellt haben, stellen Sie sie auf Ihren Geräten bereit, um am Edge zu arbeiten. Wenn mehrere Module zusammenarbeiten, um Daten zu sammeln und zu verarbeiten, stellen Sie sie alle gleichzeitig bereit. Deklarieren Sie auch die Routingregeln, die sie verbinden.

Azure CLI ist ein plattformübergreifendes Open Source-Befehlszeilentool zum Verwalten von Azure-Ressourcen wie IoT Edge. Sie können Azure IoT Hub-Ressourcen, Gerätebereitstellungsdienstinstanzen und verknüpfte Hubs sofort verwalten. Die neue IoT-Erweiterung erweitert Azure CLI mit Features wie Geräteverwaltung und vollständigen IoT Edge-Funktionen.

In diesem Artikel wird erläutert, wie Sie ein JSON-Bereitstellungsmanifest erstellen und diese Datei verwenden, um die Bereitstellung an ein IoT Edge-Gerät zu übertragen. Informationen zum Erstellen einer Bereitstellung für mehrere Geräte – basierend auf deren freigegebenen Tags – finden Sie unter Deploy and monitor IoT Edge modules at scale (Bereitstellen und Überwachen von IoT Edge-Modulen im großen Maßstab).

Voraussetzungen

Konfigurieren eines Bereitstellungsmanifests

Ein Bereitstellungsmanifest ist ein JSON-Dokument, das beschreibt, welche Module bereitgestellt werden sollen, wie Daten zwischen den Modulen übermittelt werden und welche Eigenschaften die Modulzwillinge aufweisen sollen. Weitere Informationen zur Funktionsweise von Bereitstellungsmanifesten und deren Erstellung finden Sie unter "Verstehen, wie IoT Edge-Module verwendet, konfiguriert und wiederverwendet werden können".

Wenn Sie Module mithilfe der Azure CLI bereitstellen möchten, speichern Sie das Bereitstellungsmanifest lokal als JSON-Datei. Verwenden Sie den Dateipfad im nächsten Abschnitt, um den Befehl auszuführen und die Konfiguration auf Ihr Gerät anzuwenden.

Hier ist ein einfaches Bereitstellungsmanifest mit einem Modul als Beispiel:

Hinweis

In diesem Beispielbereitstellungsmanifest wird die Schemaversion 1.1 für den IoT Edge-Agent und den Hub verwendet. Schemaversion 1.1 ist in IoT Edge Version 1.0.10 enthalten und ermöglicht Features wie Modulstartreihenfolge und Routenpriorisierung.

{
  "content": {
    "modulesContent": {
      "$edgeAgent": {
        "properties.desired": {
          "schemaVersion": "1.1",
          "runtime": {
            "type": "docker",
            "settings": {
              "minDockerVersion": "v1.25",
              "loggingOptions": "",
              "registryCredentials": {}
            }
          },
          "systemModules": {
            "edgeAgent": {
              "type": "docker",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-agent:1.5",
                "createOptions": "{}"
              }
            },
            "edgeHub": {
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-hub:1.5",
                "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}]}}}"
              }
            }
          },
          "modules": {
            "SimulatedTemperatureSensor": {
              "version": "1.0",
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5",
                "createOptions": "{}"
              }
            }
          }
        }
      },
      "$edgeHub": {
        "properties.desired": {
          "schemaVersion": "1.1",
          "routes": {
            "upstream": "FROM /messages/* INTO $upstream"
          },
          "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
          }
        }
      },
      "SimulatedTemperatureSensor": {
        "properties.desired": {
          "SendData": true,
          "SendInterval": 5
        }
      }
    }
  }
}

Bereitstellen auf Ihrem Gerät

Zur Bereitstellung von Modulen auf Ihrem Gerät wenden Sie das Bereitstellungsmanifest an, das Sie mit den Modulinformationen konfiguriert haben.

Wechseln Sie in den Ordner, in dem Sie das Bereitstellungsmanifest gespeichert haben. Wenn Sie eine der IoT Edge-Vorlagen für Visual Studio Code verwendet haben, verwenden Sie die Datei deployment.json im Ordner config im Projektmappenverzeichnis und nicht die Datei deployment.template.json.

Wenden Sie die Konfiguration mit dem folgenden Befehl auf ein IoT Edge-Gerät an:

az iot edge set-modules --device-id [device id] --hub-name [hub name] --content [file path]

Beim Parameter für die Geräte-ID wird die Groß-/Kleinschreibung berücksichtigt. Der content-Parameter verweist auf die gespeicherte Bereitstellungsmanifestdatei.

Screenshot der Befehlszeilenausgabe von „az iot edge set-modules“

Anzeigen von Modulen auf dem Gerät

Nachdem Sie die Module auf Ihrem Gerät bereitgestellt haben, können Sie sie mit dem folgenden Befehl anzeigen:

Zeigen Sie die Module auf Ihrem IoT Edge-Gerät an:

az iot hub module-identity list --device-id [device id] --hub-name [hub name]

Beim Parameter für die Geräte-ID wird die Groß-/Kleinschreibung berücksichtigt.

Screenshot der Ausgabe des Befehls „az iot hub module-identity list“

Nächste Schritte

Erfahren Sie, wie Sie IoT Edge-Module im großen Maßstab bereitstellen und überwachen.