Подготовка обновления к импорту в службу Обновления устройств для Центра Интернета вещей
Узнайте, как получить новое обновление и подготовить обновление для импорта в службу Обновления устройств для Центра Интернета вещей.
Необходимые компоненты
Доступ к Центр Интернета вещей с обновлением устройства для Центр Интернета вещей включен.
Среда интерфейса командной строки Azure:
Используйте среду Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI
- Выполните вход в Azure CLI с помощью команды az login.
- Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
- При появлении запроса установите расширения Azure CLI при первом использовании. В командах в этой статье используется расширение azure-iot. Запустите
az extension update --name azure-iot
и убедитесь, что используется последняя версия расширения.
Совет
Команды Azure CLI в этой статье используют символ обратной косой черты \
для продолжения строки, чтобы аргументы команд были проще читать. Этот синтаксис работает в средах Bash. Если вы выполняете эти команды в PowerShell, замените каждую обратную косую черту обратной чертой "", или удалите их полностью.
Получение обновления для устройств
Теперь, когда вы настроили обновление устройств и подготовили устройства, вам потребуется файл обновления, который будет развернут на этих устройствах.
Если вы приобрели устройства от производителя оригинального оборудования (OEM) или интегратора решений, то эта организация, скорее всего, предоставит вам файлы обновления, и вам не придется создавать их самостоятельно. Обратитесь к поставщику вычислительной техники или к интегратору решений, чтобы узнать, как они предоставляют обновления.
Если ваша организация создает программное обеспечение для используемых устройств, эта же группа создаст обновления для этого программного обеспечения.
При создании обновления для развертывания с помощью службы Обновление устройств для Центра Интернета вещей начните с подхода на основе образа или пакета в зависимости от вашего сценария.
Создание базового манифеста импорта Обновления устройств
После получения файлов обновления создайте манифест импорта для описания обновления. Если вы еще этого не сделали, ознакомьтесь с основными понятиями импорта. Хотя можно создать json манифеста импорта вручную с помощью текстового редактора, интерфейс командной строки Azure (CLI) значительно упрощает процесс и используется в приведенных ниже примерах.
Совет
Если вы еще не сделали этого, попробуйте воспользоваться учебниками по обновлению на основе образов, пакетов или прокси-серверов. Вы также можете просто просмотреть примеры файлов манифеста импорта из этих учебников для справки.
Команда az iot du init v5 принимает следующие аргументы:
--update-provider
,--update-name
и--update-version
: эти три параметра определяют объект updateId , который является уникальным идентификатором для каждого обновления.--compat
: объект совместимости — это набор пар "имя-значение", описывающих свойства устройства, с которым это обновление совместимо.- Один и тот же набор свойств совместимости нельзя использовать с несколькими сочетаниями поставщиков и имен.
--step
: обработчик обновления на устройстве (например,microsoft/script:1
илиmicrosoft/apt:1
microsoft/swupdate:1
) и связанные с ним свойства для этого обновления.--file
: пути к файлу или файлам обновления.
Дополнительные сведения об этих параметрах см. в разделе "Импорт схемы" и сведений API.
az iot du update init v5 \
--update-provider <replace with your Provider> \
--update-name <replace with your update Name> \
--update-version <replace with your update Version> \
--compat <replace with the property name>=<replace with the value your device will report> <replace with the property name>=<replace with the value your device will report> \
--step handler=<replace with your chosen handler> properties=<replace with any handler properties (JSON-formatted)> \
--file path=<replace with path(s) to your update file(s), including the full file name>
Например:
az iot du update init v5 \
--update-provider Microsoft \
--update-name AptUpdate \
--update-version 1.0.0 \
--compat manufacturer=Contoso model=Vacuum \
--step handler=microsoft/script:1 properties='{"installedCriteria": "1.0"}' \
--file path=/my/apt/manifest/file
Для свойств обработчика может потребоваться экранировать определенные символы в формате JSON. Например, используйте '\'
для экранирования двойных кавычки, если вы используете Azure CLI в PowerShell.
Эта init
команда поддерживает расширенные сценарии, включая функцию связанных файлов, которая позволяет определить связь между различными файлами обновления. Дополнительные примеры и полный список необязательных параметров см. в az iot du init v5.
После создания манифеста импорта и его сохранения в виде JSON-файла вы можете импортировать обновление. Если вы планируете использовать пользовательский интерфейс портал Azure для импорта, обязательно присвойте манифесту импорта в следующем формате: "<имя> манифеста.importmanifest.json".
Создание расширенного манифеста импорта Обновления устройств для обновления прокси-сервера
Если обновление сложное, например Обновление прокси-сервера, может потребоваться создать несколько манифестов импорта. Вы можете использовать тот же подход Azure CLI из предыдущего раздела, чтобы создать как родительский манифест импорта, так и некоторые дочерние манифесты импорта для сложных обновлений. Выполните следующие команды Azure CLI после замены примеров значений параметров собственными. Сведения о том, какие значения можно использовать, см. в разделе Импорт схемы и сведений об API. В приведенном ниже примере на устройстве развернуто три обновления: одно родительское обновление и два дочерних обновления:
az iot du update init v5 \
--update-provider <replace with child_1 update Provider> \
--update-name <replace with child_1 update Name> \
--update-version <replace with child_1 update Version> \
--compat manufacturer=<replace with the value your device will report> model=<replace with the value your device will report> \
--step handler=<replace with your chosen handler> \
--file path=<replace with path(s) to your update file(s), including the full file name> \
az iot du update init v5 \
--update-provider <replace with child_2 update Provider> \
--update-name <replace with child_2 update Name> \
--update-version <replace with child_2 update Version> \
--compat manufacturer=<replace with the value your device will report> model=<replace with the value your device will report> \
--step handler=<replace with your chosen handler> \
--file path=<replace with path(s) to your update file(s), including the full file name> \
az iot du update init v5 \
--update-provider <replace with the parent update Provider> \
--update-name <replace with the parent update Name> \
--update-version <replace with the parent update Version> \
--compat manufacturer=<replace with the value your device will report> model=<replace with the value your device will report> \
--step handler=<replace with your chosen handler> properties=<replace with any desired handler properties (JSON-formatted)> \
--file path=<replace with path(s) to your update file(s), including the full file name> \
--step updateId.provider=<replace with child_1 update provider> updateId.name=<replace with child_1 update name> updateId.version=<replace with child_1 update version> \
--step updateId.provider=<replace with child_2 update provider> updateId.name=<replace with child_2 update name> updateId.version=<replace with child_2 update version> \