Поделиться через


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

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

Внимание

IoT Edge 1.5 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 в нужном масштабе (предварительная версия)