Wdrażanie modułów usługi Azure IoT Edge przy użyciu interfejsu wiersza polecenia platformy Azure

Dotyczy:Znacznik wyboru usługi IoT Edge 1.5 IoT Edge 1.5 Znacznik wyboru usługi IoT Edge 1.4 IoT Edge 1.4

Ważne

Obsługiwane są wersje usługi IoT Edge 1.5 LTS i IoT Edge 1.4 LTS. Usługa IoT Edge 1.4 LTS kończy się 12 listopada 2024 r. Jeśli korzystasz z wcześniejszej wersji, zobacz aktualizację Azure IoT Edge.

Po utworzeniu modułów usługi Azure IoT Edge przy użyciu logiki biznesowej chcesz wdrożyć je na urządzeniach, aby działały na brzegu sieci. Jeśli masz wiele modułów, które współpracują ze sobą w celu zbierania i przetwarzania danych, możesz wdrożyć je wszystkie jednocześnie. Możesz również zadeklarować reguły routingu, które je łączą.

Interfejs wiersza polecenia platformy Azure to międzyplatformowe narzędzie wiersza polecenia typu open source do zarządzania zasobami platformy Azure, takimi jak usługa IoT Edge. Umożliwia ona zarządzanie zasobami usługi Azure IoT Hub, wystąpieniami usługi device provisioning i połączonymi koncentratorami. Nowe rozszerzenie IoT wzbogaca interfejs wiersza polecenia platformy Azure o funkcje, takie jak zarządzanie urządzeniami i pełna funkcja usługi IoT Edge.

W tym artykule pokazano, jak utworzyć manifest wdrożenia JSON, a następnie użyć tego pliku, aby wypchnąć wdrożenie na urządzenie usługi IoT Edge. Aby uzyskać informacje na temat tworzenia wdrożenia przeznaczonego dla wielu urządzeń na podstawie ich udostępnionych tagów, zobacz Wdrażanie i monitorowanie modułów usługi IoT Edge na dużą skalę

Wymagania wstępne

  • Centrum IoT w ramach subskrypcji platformy Azure.

  • Urządzenie usługi IoT Edge

    Jeśli nie masz skonfigurowanego urządzenia usługi IoT Edge, możesz go utworzyć na maszynie wirtualnej platformy Azure. Wykonaj kroki opisane w jednym z artykułów szybki start, aby utworzyć wirtualne urządzenie z systemem Linux lub utworzyć wirtualne urządzenie z systemem Windows.

  • Interfejs wiersza polecenia platformy Azure w środowisku. Co najmniej wersja interfejsu wiersza polecenia platformy Azure musi być w wersji 2.0.70 lub nowszej. Użyj polecenia az --version w celu przeprowadzenia weryfikacji. Ta wersja obsługuje polecenia rozszerzenia az i wprowadza platformę poleceń Knack.

  • Rozszerzenie IoT dla interfejsu wiersza polecenia platformy Azure.

Konfigurowanie manifestu wdrożenia

Manifest wdrożenia to dokument JSON opisujący moduły do wdrożenia, sposób przepływu danych między modułami i żądane właściwości bliźniaczych reprezentacji modułu. Aby uzyskać więcej informacji na temat sposobu działania manifestów wdrażania i sposobu ich tworzenia, zobacz Opis sposobu używania, konfigurowania i ponownego używania modułów usługi IoT Edge.

Aby wdrożyć moduły przy użyciu interfejsu wiersza polecenia platformy Azure, zapisz manifest wdrożenia lokalnie jako plik .json. Ścieżka pliku jest używana w następnej sekcji podczas uruchamiania polecenia w celu zastosowania konfiguracji do urządzenia.

Oto podstawowy manifest wdrożenia z jednym modułem jako przykład:

Uwaga

Ten przykładowy manifest wdrożenia używa schematu w wersji 1.1 dla agenta i centrum usługi IoT Edge. Wersja schematu 1.1 została wydana wraz z usługą IoT Edge w wersji 1.0.10 i włącza funkcje, takie jak kolejność uruchamiania modułu i priorytetyzacja tras.

{
  "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
        }
      }
    }
  }
}

Wdrażanie na urządzeniu

Moduły są wdrażane na urządzeniu przez zastosowanie manifestu wdrożenia skonfigurowanego przy użyciu informacji o module.

Zmień katalogi na folder, w którym zapisano manifest wdrożenia. Jeśli użyto jednego z szablonów usługi IoT Edge programu Visual Studio Code, użyj deployment.json pliku w folderze konfiguracji katalogu rozwiązania, a nie deployment.template.json pliku.

Użyj następującego polecenia, aby zastosować konfigurację do urządzenia usługi IoT Edge:

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

Parametr identyfikatora urządzenia uwzględnia wielkość liter. Parametr zawartości wskazuje zapisany plik manifestu wdrożenia.

Zrzut ekranu przedstawiający dane wyjściowe wiersza polecenia az iot edge set-modules.

Wyświetlanie modułów na urządzeniu

Po wdrożeniu modułów na urządzeniu można wyświetlić je za pomocą następującego polecenia:

Wyświetl moduły znajdujące się na urządzeniu usługi IoT Edge:

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

Parametr identyfikatora urządzenia uwzględnia wielkość liter.

Zrzut ekranu przedstawiający dane wyjściowe polecenia az iot hub module-identity list.

Następne kroki

Dowiedz się, jak wdrażać i monitorować moduły usługi IoT Edge na dużą skalę