Развертывание модулей IoT Edge Azure с помощью интерфейса командной строки Azure
Область применения: IoT Edge 1.5 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 в нужном масштабе (предварительная версия)
Необходимые компоненты
Центр Интернета вещей в подписке 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 в нужном масштабе (предварительная версия)