Развертывание модулей IoT Edge Azure с помощью интерфейса командной строки Azure

Область применения:IoT Edge 1.5 проверка mark IoT Edge 1.5 IoT Edge 1.4 проверка mark IoT Edge 1.4

Внимание

Поддерживаются выпуски IoT Edge 1.5 LTS и IoT Edge 1.4 LTS. IoT Edge 1.4 LTS заканчивается жизнью 12 ноября 2024 года. Если вы используете более ранний выпуск, см. статью Обновление IoT Edge.

После создания модулей Azure IoT Edge с бизнес-логикой необходимо развернуть их на устройствах для работы на пограничном сервере. Если у вас есть несколько модулей, которые работают вместе для сбора и обработки данных, их можно развернуть одновременно. Вы также можете объявить правила маршрутизации, которые подключают их.

Azure CLI — это кроссплатформенная кроссплатформенная программа с открытым кодом для управления ресурсами Azure, такими как IoT Edge. Она позволяет управлять ресурсами Центра Интернета вещей Azure, экземплярами службы подготовки устройств и связанными концентраторами без дополнительной настройки. Новое расширение Интернета вещей расширяет функции интерфейса командной строки Azure (например, функция управления устройствами) и добавляет возможности IoT Edge.

В этой статье показано, как создать манифест развертывания JSON и применить этот файл для отправки этого развертывания на устройство IoT Edge. Информацию о создании развертываний, предназначенных для нескольких устройств с определенными значениями тегов, см. в разделе Развертывание и мониторинг модулей IoT Edge в нужном масштабе (предварительная версия)

Необходимые компоненты

Настройка манифеста развертывания

Манифест развертывания — это документ JSON, в котором определены развертываемые модули, способ передачи данных между этими модулями и требуемые свойства для двойников модулей. Дополнительные сведения о работе манифестов развертывания и об их создании см. в руководстве по использованию, настройке и повторном использовании модулей Azure IoT Edge.

Чтобы развернуть модули с помощью интерфейса командной строки Azure, сохраните манифест развертывания на локальном компьютере в формате JSON. В следующем разделе вы примените путь к файлу для выполнения команды, применяющей конкретную конфигурацию к устройству.

Вот пример простого манифеста развертывания с одним модулем.

Примечание.

Этот пример манифеста развертывания использует схему версии 1.1 для агента IoT Edge и центра. Версия схемы 1.1 была выпущена вместе с IoT Edge версии 1.0.10. Она включает такие функции, как определение порядка запуска модуля и приоритизация маршрутов.

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

Развертывание на устройстве

Для развертывания модулей на устройстве следует применить манифест развертывания, в который были заранее внесены сведения о модулях.

Измените каталоги в папку, в которой вы сохранили манифест развертывания. Если вы использовали один из шаблонов Visual Studio Code IoT Edge, используйте deployment.json файл в папке конфигурации каталога решения, а не deployment.template.json файла.

Следующая команда применяет конфигурацию к устройству IoT Edge:

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

В параметре идентификатора устройства учитывается регистр. Параметр content указывает на сохраненный ранее файл манифеста развертывания.

Снимок экрана: выходные данные командной строки командной строки az iot edge set-modules.

Просмотр модулей, установленных на устройстве

Завершив развертывание модулей на устройстве, вы можете просмотреть их список с помощью следующей команды:

Просмотрите модули на устройстве IoT Edge:

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

В параметре идентификатора устройства учитывается регистр.

Снимок экрана: выходные данные команды az iot hub module-identity list.

Следующие шаги

Изучите раздел Развертывание и мониторинг модулей IoT Edge в нужном масштабе (предварительная версия)