Поделиться через


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

В этой статье описывается, как получить новое обновление и подготовить его к импорту в обновление устройств Azure для Центр Интернета вещей путем создания манифеста импорта.

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

  • Учетная запись обновления устройств и экземпляр, настроенные с помощью Центра Интернета вещей.

  • Устройство Интернета вещей или симулятор , подготовленный для обновления устройств в Центре Интернета вещей.

  • Среда Bash в Azure Cloud Shell для выполнения команд Azure CLI. Выберите "Запустить Cloud Shell", чтобы открыть Cloud Shell, или щелкните значок Cloud Shell на верхней панели инструментов портал Azure.

    Если вы предпочитаете, вы можете выполнять команды Azure CLI локально:

    1. Установка Azure CLI. Запустите az version , чтобы просмотреть установленную версию Azure CLI и зависимые библиотеки, а затем запустите az upgrade , чтобы установить последнюю версию.
    2. Войдите в Azure, выполнив команду az login.
    3. azure-iot Установите расширение при появлении запроса на первое использование. Чтобы убедиться, что вы используете последнюю версию расширения, выполните команду az extension update --name azure-iot.

Совет

Команды Azure CLI в этой статье используют символ обратной косой черты \ для продолжения строки, чтобы аргументы команд были проще читать. Этот синтаксис работает в средах Bash. Если вы выполняете эти команды в PowerShell, замените каждую обратную косую черту обратной чертой или удалите их полностью.

Получение файлов обновления для устройства

Получите файл обновления или файлы для развертывания на устройстве с помощью обновления устройства. Если вы приобрели устройства от исходного производителя оборудования (OEM) или интегратора решений, эта организация, вероятно, предоставляет обновления без необходимости создавать файлы обновлений. Обратитесь к поставщику вычислительной техники или к интегратору решений, чтобы узнать, как они предоставляют обновления. Если ваша организация создает программное обеспечение для ваших устройств, оно также создает обновления для этого программного обеспечения.

Чтобы создать обновление, выберите тип обновления на основе образа или пакета в зависимости от вашего сценария.

Совет

Вы можете попробовать руководства по обновлению на основе образов, на основе пакетов или прокси-сервера или просто просмотреть примеры файлов манифеста импорта из этих учебников для справки.

Создание базового манифеста импорта Обновления устройств

Получив файлы обновления и знакомые с основными понятиями импорта обновления устройств, создайте манифест импорта для описания обновления. Хотя манифест импорта JSON можно создать вручную с помощью текстового редактора, команда Azure CLI az iot du init v5 упрощает процесс. Дополнительные сведения о схеме манифеста импорта см. в разделе "Схема импорта обновления устройства" и сведения о API.

Команда az iot du init v5 принимает следующие аргументы. Все обязательные, кроме --fileтого, производные от --step не указанных. Существует позиционный чувствительность между --step и --file.

  • --update-nameПараметры --update-providerи --update-version параметры определяют updateId объект, который является уникальным идентификатором для каждого обновления.
  • Объект --compat совместимости — это набор пар "имя-значение", описывающих свойства устройства, с которым это обновление совместимо. Вы можете использовать определенный набор свойств совместимости только с одним сочетанием поставщиков и имен.
  • Параметр --step указывает обновление handler на устройстве, например microsoft/script:1, microsoft/swupdate:1или microsoft/apt:1, и связанное properties с ним обновление. Вы можете использовать --step несколько раз.
  • Параметр --file задает path файлы обновления. Можно использовать --file один или несколько раз.
az iot du update init v5 \
    --update-provider <provider> \
    --update-name <update name> \
    --update-version <update version> \
    --compat <property1>=<value> <property2>=<value> \
    --step handler=<handler> properties=<JSON-formatted handler properties> \
    --file path=<paths and full file names of your update files> 

az iot du update init v5 Следующая команда показывает примеры значений:

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.

Эта az iot du init v5 команда поддерживает расширенные сценарии, включая функцию связанных файлов, которая позволяет определить связь между различными файлами обновления. Дополнительные примеры и полный список необязательных параметров см. в справочнике по командам az iot du init v5 .

После создания манифеста импорта и сохранения его в виде JSON-файла можно импортировать обновление. Если вы планируете использовать портал Azure для импорта, обязательно присвойте манифесту импорта имя имени> манифеста формата<.importmanifest.json.

Создание расширенного манифеста импорта Обновления устройств для обновления прокси-сервера

Если обновление является более сложным, например обновление прокси-сервера, может потребоваться создать несколько манифестов импорта. Для сложных обновлений можно использовать az iot du update init v5 команду Azure CLI для создания родительского манифеста импорта и некоторых дочерних манифестов импорта.

Замените значения заполнителей в следующих командах Azure CLI. Дополнительные сведения о значениях, которые можно использовать, см. в разделе "Импорт схемы" и сведений API. В следующем примере показаны три обновления для развертывания на устройстве, родительского обновления и двух дочерних обновлений.

az iot du update init v5 \
    --update-provider <child_1 update provider> \
    --update-name <child_1 update name> \
    --update-version <child_1 update version> \
    --compat manufacturer=<device manufacturer> model=<device model> \
    --step handler=<handler> \
    --file path=<paths and full file names of your update files> 
az iot du update init v5 \
    --update-provider <child_2 update provider> \
    --update-name <child_2 update name> \
    --update-version <child_2 update version> \
    --compat manufacturer=<device manufacturer> model=<device model> \
    --step handler=<handler> \
    --file path=<paths and full file names of your update files> 
az iot du update init v5 \
    --update-provider <parent update provider> \
    --update-name <parent update name> \
    --update-version <parent update version> \
    --compat manufacturer=<device manufacturer> model=<device model> \
    --step handler=<handler> properties=<any handler properties, JSON-formatted> \
    --file path=<paths and full file names of your update files> \
    --step updateId.provider=<child_1 update provider> updateId.name=<child_1 update name> updateId.version=<child_1 update version> \
    --step updateId.provider=<child_2 update provider> updateId.name=<child_2 update name> updateId.version=<child_2 update version>