Развертывание модулей IoT Edge Azure с помощью интерфейса командной строки Azure
Область применения: 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 в нужном масштабе (предварительная версия)
Необходимые компоненты
Центр Интернета вещей в подписке Azure.
Устройство IoT Edge.
Если устройство IoT Edge не настроено, его можно создать на виртуальной машине Azure. Выполните действия, описанные в одном из кратких руководств, чтобы создать виртуальное устройство Linux или создать виртуальное устройство Windows.
Интерфейс командной строки Azure в вашей среде. Как минимум, ваша версия Azure CLI должна быть 2.0.70 или выше. Для проверки используйте
az --version
. Эта версия поддерживает команды расширения az и представляет собой платформу команд Knack.
Настройка манифеста развертывания
Манифест развертывания — это документ 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 указывает на сохраненный ранее файл манифеста развертывания.
Просмотр модулей, установленных на устройстве
Завершив развертывание модулей на устройстве, вы можете просмотреть их список с помощью следующей команды:
Просмотрите модули на устройстве IoT Edge:
az iot hub module-identity list --device-id [device id] --hub-name [hub name]
В параметре идентификатора устройства учитывается регистр.
Следующие шаги
Изучите раздел Развертывание и мониторинг модулей IoT Edge в нужном масштабе (предварительная версия)