Бөлісу құралы:


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

Применимо к:IoT Edge 1.5 флажок IoT Edge 1.5

Внимание

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

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

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

В этой статье объясняется, как создать манифест развертывания JSON и использовать этот файл для отправки развертывания на устройство IoT Edge. Сведения о создании развертывания, предназначенного для нескольких устройств на основе общих тегов, см. в разделе Развёртывание и мониторинг модулей IoT Edge в больших масштабах.

Предварительные требования

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

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

Чтобы развернуть модули с помощью Azure CLI, сохраните манифест развертывания локально в виде файла .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.5",
              "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 в папке config каталога решения, а не в файле 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 в большом масштабе