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 para Hub IoT do Azure criando um manifesto de importação.
Pré-requisitos
Uma conta de Atualização de Dispositivo e uma instância configurada com um hub IoT.
Um dispositivo ou simulador de IoT provisionado para a 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, execute os comandos da CLI do Azure localmente:
- 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.
- Entre no Azure executando az login.
- Instale a extensão
azure-iot
quando solicitado no primeiro uso. Para verificar se está usando a versão mais recente da extensão, executeaz extension update --name azure-iot
.
Dica
Os comandos da CLI do Azure neste artigo usam o caractere de barra invertida \ para continuação da linha de forma que seja mais fácil ler os argumentos do comando. Essa sintaxe funciona em ambientes Bash. Se estiver executando esses comandos no PowerShell, substitua cada barra invertida por um acento grave ` ou as remova inteiramente.
Obter os arquivos de atualização para o seu dispositivo
Obtenha o arquivo de atualização ou os arquivos a serem implantados no seu dispositivo usando 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 fornecerá atualizações sem que você precise criar arquivos de atualização. Entre em contato com o OEM ou o integrador de soluções para descobrir como eles disponibilizam atualizações. Se criar software para seus dispositivos, sua organização também criará as atualizações para esse software.
Para criar a atualização, escolha o tipo de atualização baseado em imagem ou baseado em pacote, dependendo do seu cenário.
Dica
Você pode experimentar os tutoriais de atualização baseados em imagem, baseados em pacote ou de proxy, ou simplesmente visualizar uma amostra de arquivos do manifesto de importação desses tutoriais para referência.
Criar um manifesto de importação de Atualização de Dispositivo básico
Após ter seus arquivos de atualização e estar familiarizado com os Conceitos básicos de importação de 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 az iot du init v5 da CLI do Azure simplifica o processo. Para obter mais informações sobre o esquema do manifesto de importação, confira Esquema e informações de API de importação de Atualização de Dispositivo.
O comando az iot du init v5
usa os seguintes argumentos. Todos são necessários, exceto --file
, que é derivado de --step
se não estiver especificado. Existe uma sensibilidade posicional entre --step
e --file
.
- Os parâmetros
--update-provider
,--update-name
e--update-version
definem o objetoupdateId
, que é um identificador exclusivo para cada atualização. - O objeto de compatibilidade
--compat
é um conjunto de pares de nome-valor que descrevem as propriedades de um dispositivo com o qual essa atualização é compatível. Você pode usar um conjunto específico de propriedades de compatibilidade com apenas um provedor e uma combinação de nomes. - O parâmetro
--step
especifica a atualizaçãohandler
no dispositivo, comomicrosoft/script:1
,microsoft/swupdate:1
oumicrosoft/apt:1
e suasproperties
associadas para essa atualização. Você pode usar o--step
mais de uma vez. - O parâmetro
--file
especifica opath
para seus arquivos de atualização. Você pode usar o--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 az iot du update init v5
a seguir mostra exemplos de valores:
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
Dica
Para as propriedades do manipulador, talvez você precise escapar determinados caracteres no seu JSON. Por exemplo, use '\'
para escapar aspas duplas se você executar a CLI do Azure no PowerShell.
O comando az iot du init v5
dá suporte a cenários avançados, incluindo o recurso de arquivos relacionados que permite definir a relação entre arquivos de atualização diferentes. Para obter mais exemplos e uma lista completa de parâmetros opcionais, confira a referência do comando az iot du init v5.
Após criar seu manifesto de importação e salvá-lo como um arquivo JSON, você poderá importar a atualização. Se estiver planejando usar o portal do Azure para a importação, certifique-se de nomear seu manifesto de importação com o formato <manifestname>.importmanifest.json.
Criar um manifesto de importação da Atualização de Dispositivo avançado para uma atualização de proxy
Se sua atualização for mais complexa, como uma atualização de proxy, talvez você precise criar vários manifestos de importação. Para atualizações complexas, você pode usar o comando da CLI do Azure az iot du update init v5
para criar um manifesto de importação pai e um número determinado de manifestos de importação filho.
Substitua os valores de espaço reservado nos comandos da CLI do Azure a seguir. Para obter detalhes sobre os valores que você pode usar, confira Esquema e informações de API de importação. O exemplo a seguir mostra três atualizações a serem implantadas no dispositivo, uma atualização pai e duas atualizações filho.
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>
Conteúdo relacionado
- Conceitos de importação de Atualização de Dispositivo
- Esquema e informações de API de importação de Atualização de Dispositivo
- Atualizações de proxy e como atualizar vários componentes
- Importar uma atualização
- Usar o recurso de arquivos relacionados para fazer referência a vários arquivos de atualização