Condividi tramite


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

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 --filedi , che è derivato da --step se non specificato. Esiste una sensibilità posizionale tra --step e --file.

  • I --update-providerparametri , --update-namee --update-version definiscono l'oggetto updateId 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'aggiornamento handler nel dispositivo, ad esempio microsoft/script:1, microsoft/swupdate:1o microsoft/apt:1e il relativo associato properties per questo aggiornamento. È possibile usare --step più volte.
  • Il --file parametro specifica l'oggetto per path 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>