Подготовка обновления к импорту в службу Обновления устройств для Центра Интернета вещей

Узнайте, как получить новое обновление и подготовить обновление для импорта в службу Обновления устройств для Центра Интернета вещей.

Необходимые компоненты

  • Доступ к Центр Интернета вещей с обновлением устройства для Центр Интернета вещей включен.

  • Среда интерфейса командной строки Azure:

    1. Выполните вход в Azure CLI с помощью команды az login.
    2. Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
    3. При появлении запроса установите расширения 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:1microsoft/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> \

Следующие шаги