Partilhar via


Preparar uma atualização para importar para a Atualização de Dispositivo

Este artigo descreve como obter uma nova atualização e prepará-la para importar para a Atualização de Dispositivo do Azure para o Hub IoT criando um manifesto de importação.

Pré-requisitos

  • Uma conta e instância de Atualização de Dispositivo configuradas com um hub IoT.

  • Um dispositivo ou simulador IoT provisionado para Atualização de Dispositivo dentro do hub IoT.

  • O ambiente Bash no Azure Cloud Shell para executar comandos da CLI do Azure. Selecione Iniciar o Cloud Shell para abrir o Cloud Shell ou selecione o ícone do Cloud Shell na barra de ferramentas superior do portal do Azure.

    Se preferir, você pode executar os comandos da CLI do Azure localmente:

    1. Instalar a CLI do Azure. Execute az version para ver a versão instalada da CLI do Azure e as bibliotecas dependentes e execute az upgrade para instalar a versão mais recente.
    2. Entre no Azure executando az login.
    3. Instale a azure-iot extensão quando solicitado na primeira utilização. Para se certificar de que está a utilizar a versão mais recente da extensão, execute az extension update --name azure-iot.

Gorjeta

Os comandos da CLI do Azure neste artigo usam o caractere barra invertida \ para continuação de linha para que os argumentos de comando sejam mais fáceis de ler. Esta sintaxe funciona em ambientes Bash. Se você executar esses comandos no PowerShell, substitua cada barra invertida por um backtick ', ou remova-os completamente.

Obter os ficheiros de atualização para o seu dispositivo

Obtenha o(s) ficheiro(s) de atualização para implementar no seu dispositivo utilizando a Atualização de Dispositivo. Se você comprou dispositivos de um fabricante de equipamento original (OEM) ou integrador de soluções, essa organização provavelmente fornece atualizações sem que você precise criar arquivos de atualização. Entre em contato com o OEM ou integrador de soluções para saber como eles disponibilizam as atualizações. Se a sua organização cria software para os seus dispositivos, também cria as atualizações para esse software.

Para criar a atualização, escolha o tipo de atualização baseado em imagem ou em pacote, dependendo do seu cenário.

Gorjeta

Você pode tentar os tutoriais de atualização de proxy baseados em imagem, pacote ou proxy ou apenas visualizar arquivos de manifesto de importação de exemplo desses tutoriais para referência.

Criar um manifesto de importação básico da Atualização de Dispositivo

Depois de ter seus arquivos de atualização e estar familiarizado com os conceitos básicos de importação da Atualização de Dispositivo, crie um manifesto de importação para descrever a atualização. Embora você possa criar um manifesto de importação JSON manualmente usando um editor de texto, o comando Azure CLI az iot du init v5 simplifica o processo. Para obter mais informações sobre o esquema de manifesto de importação, consulte Esquema de importação de atualização de dispositivo e informações de API.

O az iot du init v5 comando usa os seguintes argumentos. Todos são necessários, exceto --file, que é derivado de --step se não especificado. Existe sensibilidade posicional entre --step e --file.

  • Os --update-providerparâmetros , --update-name, e --update-version definem o updateId objeto que é um identificador exclusivo para cada atualização.
  • O --compat objeto de compatibilidade é um conjunto de pares nome-valor que descrevem as propriedades de um dispositivo com o qual esta atualização é compatível. Você pode usar um conjunto específico de propriedades de compatibilidade com apenas uma combinação de provedor e nome.
  • O --step parâmetro especifica a atualização handler no dispositivo, como microsoft/script:1, microsoft/swupdate:1ou microsoft/apt:1, e seus associados properties para esta atualização. Pode utilizar --step mais do que uma vez.
  • O --file parâmetro especifica o para seus arquivos de path atualização. Você pode usar --file uma ou mais vezes.
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> 

O comando a seguir az iot du update init v5 mostra valores de exemplo:

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

Gorjeta

Para propriedades do manipulador, talvez seja necessário escapar de determinados caracteres em seu JSON. Por exemplo, use '\' para escapar de aspas duplas se você executar a CLI do Azure no PowerShell.

O az iot du init v5 comando suporta cenários avançados, incluindo o recurso de arquivos relacionados que permite definir a relação entre diferentes arquivos de atualização. Para obter mais exemplos e uma lista completa de parâmetros opcionais, consulte a referência de comando az iot du init v5 .

Depois de criar seu manifesto de importação e salvá-lo como um arquivo JSON, você pode importar a atualização. Se você planeja usar o portal do Azure para importar, certifique-se de nomear seu manifesto de importação com o formato <manifestname>.importmanifest.json.

Criar um manifesto de importação de Atualização de Dispositivo avançado para uma atualização de proxy

Se a atualização for mais complexa, como uma atualização de proxy, talvez seja necessário criar vários manifestos de importação. Para atualizações complexas, você pode usar o comando CLI do Azure para criar um manifesto de importação pai e algum número de manifestos az iot du update init v5 de importação filho.

Substitua os valores de espaço reservado nos seguintes comandos da CLI do Azure. Para obter detalhes sobre os valores que você pode usar, consulte Importar esquema e informações de API. O exemplo a seguir mostra três atualizações para implantar no dispositivo, uma atualização pai e duas atualizações filhas.

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>