Freigeben über


Bereitstellen von Azure IoT Edge Modulen mithilfe von Azure CLI

Gilt für:IoT Edge 1,5 Häkchen IoT Edge 1,5

Wichtig

IoT Edge 1.5 LTS ist die unterstützte Version. IoT Edge 1.4 LTS erreichte am 12. November 2024 das Ende des Lebens. Wenn Sie eine frühere Version verwenden, lesen Sie Update 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 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, die auf mehreren Geräten basierend auf ihren freigegebenen Tags ausgerichtet ist, finden Sie unter Deploy and monitor IoT Edge modules at scale.

Voraussetzungen

  • Ein IoT Hub in Ihrem Azure-Abonnement.

  • Ein IoT Edge Gerät

    Wenn Sie kein IoT Edge Gerät eingerichtet haben, erstellen Sie ein Gerät auf einem Azure virtuellen Computer. Führen Sie die Schritte in einem der Schnellstartartikel zum Create a virtual Linux device or Create a virtual Windows device aus.

  • Azure CLI in Ihrer Umgebung. Ihre Azure CLI Version muss 2.0.70 oder höher sein. Verwenden Sie az --version, um zu überprüfen. Diese Version unterstützt az-Erweiterungsbefehle und verwendet das Knack-Befehlsframework.

  • Die IoT-Erweiterung für Azure CLI

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 verstanden, wie IoT Edge Module verwendet, konfiguriert und wiederverwendet werden können.

Um Module mithilfe des Azure CLI bereitzustellen, 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

Dieses Beispielbereitstellungsmanifest verwendet Schemaversion 1.1 für den IoT Edge Agent und Hub. 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
        }
      }
    }
  }
}

Auf Ihrem Gerät bereitstellen

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

Wechseln Sie in das Verzeichnis, in dem Sie Ihr Bereitstellungsmanifest gespeichert haben. Wenn Sie eine der Visual Studio Code IoT Edge-Vorlagen verwendet haben, verwenden Sie die Datei deployment.json in der Datei config Des Lösungsverzeichnisses und nicht in der Datei deployment.template.json.

Verwenden Sie den folgenden Befehl, um die Konfiguration auf ein IoT Edge Gerät anzuwenden:

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 mit der Ausgabe des Befehls „az iot hub module-identity list“.

Nächste Schritte

Erfahren Sie, wie Sie IoT-Edge-Module in großem Maßstab bereitstellen und überwachen