Preparare un aggiornamento per l'importazione in Aggiornamento dispositivi
Questo articolo descrive come ottenere un nuovo aggiornamento e prepararlo per l'importazione in Aggiornamento dispositivi di Azure per hub IoT creando un manifesto di importazione.
Prerequisiti
Un account e un'istanza di Aggiornamento dispositivi configurati con un hub IoT.
Un dispositivo O un simulatore IoT di cui è stato effettuato il provisioning per l'aggiornamento del dispositivo all'interno dell'hub IoT.
Ambiente Bash in Azure Cloud Shell per l'esecuzione dei comandi dell'interfaccia della riga di comando di Azure. Selezionare Avvia Cloud Shell per aprire Cloud Shell oppure selezionare l'icona Cloud Shell nella barra degli strumenti superiore del portale di Azure.
Se si preferisce, è possibile eseguire i comandi dell'interfaccia della riga di comando di Azure in locale:
- Installare l'interfaccia da riga di comando di Azure. Eseguire az version per visualizzare la versione dell'interfaccia della riga di comando di Azure installata e le librerie dipendenti ed eseguire az upgrade per installare la versione più recente.
- Accedere ad Azure eseguendo az login.
- Installare l'estensione
azure-iot
quando richiesto al primo utilizzo. Per assicurarsi di usare la versione più recente dell'estensione, eseguireaz extension update --name azure-iot
.
Suggerimento
I comandi dell'interfaccia della riga di comando di Azure in questo articolo usano il carattere barra rovesciata \ per la continuazione della riga in modo che gli argomenti del comando siano più facili da leggere. Questa sintassi funziona negli ambienti Bash. Se si eseguono questi comandi in PowerShell, sostituire ogni barra rovesciata con un backtick 'o rimuoverli completamente.
Ottenere i file di aggiornamento per il dispositivo
Ottenere il file o i file di aggiornamento da distribuire nel dispositivo usando Device Update. Se sono stati acquistati dispositivi da un produttore di apparecchiature originale (OEM) o un integratore di soluzioni, tale organizzazione probabilmente fornisce aggiornamenti senza dover creare file di aggiornamento. Contattare l'OEM o l'integratore di soluzioni per scoprire come rendere disponibili gli aggiornamenti. Se l'organizzazione crea software per i dispositivi, crea anche gli aggiornamenti per tale software.
Per creare l'aggiornamento, scegliere il tipo di aggiornamento basato su immagine o basato su pacchetto, a seconda dello scenario.
Suggerimento
È possibile provare le esercitazioni sull'aggiornamento basato su immagini, basate su pacchetti o proxy oppure visualizzare semplicemente i file manifesto di importazione di esempio da tali esercitazioni per riferimento.
Creare un manifesto di importazione di Aggiornamento dispositivi di base
Dopo aver acquisito familiarità con i file di aggiornamento e aver acquisito familiarità con i concetti di importazione di Aggiornamento dispositivi di base, creare un manifesto di importazione per descrivere l'aggiornamento. Anche se è possibile creare manualmente un manifesto di importazione JSON usando un editor di testo, il comando az iot du init v5 dell'interfaccia della riga di comando di Azure semplifica il processo. Per altre informazioni sullo schema del manifesto di importazione, vedere Informazioni sullo schema di importazione e sull'API di Aggiornamento dispositivi.
Il az iot du init v5
comando accetta gli argomenti seguenti. Tutti sono obbligatori, ad eccezione --file
di , che è derivato da --step
se non specificato. Esiste una sensibilità posizionale tra --step
e --file
.
- I
--update-provider
parametri ,--update-name
e--update-version
definiscono l'oggettoupdateId
che è un identificatore univoco per ogni aggiornamento. - L'oggetto
--compat
compatibilità è un set di coppie nome-valore che descrivono le proprietà di un dispositivo con cui questo aggiornamento è compatibile. È possibile usare un set specifico di proprietà di compatibilità con una sola combinazione di provider e nome. - Il
--step
parametro specifica l'aggiornamentohandler
nel dispositivo, ad esempiomicrosoft/script:1
,microsoft/swupdate:1
omicrosoft/apt:1
e il relativo associatoproperties
per questo aggiornamento. È possibile usare--step
più volte. - Il
--file
parametro specifica l'oggetto perpath
i file di aggiornamento. È possibile usare--file
una o più volte.
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>
Il comando seguente az iot du update init v5
mostra i valori di esempio:
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
Suggerimento
Per le proprietà del gestore, potrebbe essere necessario eseguire l'escape di determinati caratteri nel codice JSON. Ad esempio, usare '\'
per eseguire l'escape tra virgolette doppie se si esegue l'interfaccia della riga di comando di Azure in PowerShell.
Il az iot du init v5
comando supporta scenari avanzati, inclusa la funzionalità relativa ai file che consente di definire la relazione tra file di aggiornamento diversi. Per altri esempi e un elenco completo dei parametri facoltativi, vedere il riferimento al comando az iot du init v5 .
Dopo aver creato il manifesto di importazione e salvarlo come file JSON, è possibile importare l'aggiornamento. Se si prevede di usare il portale di Azure per l'importazione, assicurarsi di denominare il manifesto di importazione con il formato <manifestname>.importmanifest.json.
Creare un manifesto di importazione avanzato di Aggiornamento dispositivi per un aggiornamento proxy
Se l'aggiornamento è più complesso, ad esempio un aggiornamento proxy, potrebbe essere necessario creare più manifesti di importazione. Per gli aggiornamenti complessi, è possibile usare il comando dell'interfaccia della az iot du update init v5
riga di comando di Azure per creare un manifesto di importazione padre e un certo numero di manifesti di importazione figlio .
Sostituire i valori segnaposto nei comandi dell'interfaccia della riga di comando di Azure seguenti. Per informazioni dettagliate sui valori che è possibile usare, vedere Importare informazioni sullo schema e sull'API. L'esempio seguente mostra tre aggiornamenti da distribuire nel dispositivo, un aggiornamento padre e due aggiornamenti figlio.
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>
Contenuto correlato
- Concetti relativi all'importazione di Aggiornamento dispositivi
- Informazioni sullo schema di importazione e sull'API di Aggiornamento dispositivi
- Aggiornamenti del proxy e aggiornamento a più componenti
- Importare un aggiornamento
- Usare la funzionalità file correlati per fare riferimento a più file di aggiornamento