Modificare un modello di dispositivo esistente

Un modello di dispositivo include un modello che descrive il modo in cui un dispositivo interagisce con IoT Central. Questo modello definisce le funzionalità del dispositivo e il modo in cui IoT Central interagisce con i dispositivi. I dispositivi possono inviare dati di telemetria e valori delle proprietà a IoT Central, IoT Central può inviare aggiornamenti e comandi delle proprietà a un dispositivo. IoT Central usa anche il modello per definire le interazioni con le funzionalità di IoT Central, ad esempio processi, regole ed esportazioni.

Le modifiche al modello in un modello di dispositivo possono influire sull'intera applicazione, inclusi eventuali dispositivi connessi. Le modifiche a una funzionalità usata da regole, esportazioni, gruppi di dispositivi o processi potrebbero provocarne un comportamento imprevisto o il mancato funzionamento. Se ad esempio si rimuove una definizione di telemetria da un modello:

  • IoT Central non riuscirà più a interpretare il valore. IoT Central mostra i dati del dispositivo che non possono interpretare come dati non modellati nella pagina dati non elaborati del dispositivo.
  • IoT Central non includerà più il valore in alcuna esportazione di dati.

Per evitare conseguenze impreviste dalla modifica di un modello di dispositivo, questo articolo include raccomandazioni basate sulla fase corrente del ciclo di vita dello sviluppo. In generale, le versioni precedenti del ciclo di vita dello sviluppo sono più tolleranti che è possibile modificare il modello di dispositivo.

Per altre informazioni sui modelli di dispositivo e su come crearne uno, vedere Informazioni sui modelli di dispositivo eConfigurare un modello di dispositivo.

Per informazioni su come gestire i modelli di dispositivo usando l'API REST IoT Central, vedere Come usare l'API REST IoT Central per gestire i modelli di dispositivo.

Modificare un modello di dispositivo

Le modifiche aggiuntive, ad esempio l'aggiunta di una capacità o un'interfaccia a un modello, sono modifiche che non causano interruzioni. È possibile apportare modifiche aggiuntive a un modello in qualsiasi fase del ciclo di vita di sviluppo.

Le modifiche che causano un'interruzione includono la rimozione di parti di un modello o la modifica del nome di una capacità o del tipo di schema. Queste modifiche possono provocare la visualizzazione di messaggi di errore o il mancato funzionamento di funzionalità dell'applicazione, tra cui regole, esportazioni o dashboard.

Nelle fasi iniziali dello sviluppo di dispositivi, quando si sta ancora progettando e testando il modello, esiste una maggiore tolleranza per modifiche direttamente nel modello di dispositivo. Prima di connettere i dispositivi di produzione a un modello di dispositivo, è possibile modificare direttamente il modello di dispositivo. IoT Central applica automaticamente queste modifiche ai dispositivi quando si pubblica il modello di dispositivo.

Dopo avere collegato i dispositivi di produzione a un modello di dispositivo, valutare l'impatto di eventuali modifiche prima di modificare un modello di dispositivo. Non è consigliabile apportare modifiche di rilievo a un modello di dispositivo nell'ambiente di produzione. Per apportare tali modifiche, creare una nuova versione del modello di dispositivo. Testare il nuovo modello di dispositivo e quindi eseguire la migrazione dei dispositivi di produzione al nuovo modello durante un tempo di inattività pianificato.

Aggiornare un modello di dispositivo IoT Edge

Per un dispositivo IoT Edge, le funzionalità dei gruppi di modelli in base ai moduli corrispondenti ai moduli di IoT Edge in esecuzione nel dispositivo. Il manifesto della distribuzione è un documento JSON separato che indica a un dispositivo IoT Edge i moduli da installare, come configurarli e le proprietà del modulo. Se è stato modificato un manifesto di distribuzione, è possibile aggiornare il modello di dispositivo per includere i moduli e le proprietà definiti nel manifesto:

  1. Passare al nodo Moduli nel modello di dispositivo.
  2. Nella pagina Riepilogo moduli selezionare Importa moduli dal manifesto.
  3. Selezionare il manifesto di distribuzione appropriato e selezionare Importa.

Per altre informazioni, vedere dispositivi IoT Edge e IoT Central.

Azioni di pubblicazione e di modifica

Le azioni seguenti risultano utili quando si modifica un modello di dispositivo:

  • Salvare. Quando si modifica parte del modello di dispositivo, il salvataggio delle modifiche crea una bozza a cui è possibile tornare. Queste modifiche non influiscono ancora sui dispositivi connessi. Le modifiche salvate verranno applicate ai dispositivi creati da questo modello solo dopo la pubblicazione.
  • Pubblicazione. Quando si pubblica il modello di dispositivo, le modifiche salvate vengono applicate alle istanze di dispositivo esistenti. Le istanze di dispositivo appena create usano sempre il modello pubblicato più recente.
  • Versione di un modello. Quando si creano versioni di un modello di dispositivo, viene creato un nuovo modello con tutte le modifiche salvate più recenti. Le istanze di dispositivo esistenti non sono interessate da modifiche apportate a una nuova versione. Per altre informazioni, vedere Versione di un modello di dispositivo.
  • Versione di un'interfaccia. Quando si creano versioni di un'interfaccia, viene creata una nuova interfaccia con tutte le funzionalità salvate più recenti. È possibile riutilizzare un'interfaccia in più posizioni in un modello. Una modifica apportata a un riferimento a un'interfaccia modifica quindi tutte le posizioni nel modello che usano tale interfaccia. Quando si creano versioni di un'interfaccia, questo comportamento cambia perché la nuova versione è ora un'interfaccia separata. Per altre informazioni, vedere Versione di un'interfaccia.
  • Eseguire la migrazione di un dispositivo. Quando si esegue la migrazione di un dispositivo, l'istanza del dispositivo passa da un modello di dispositivo a un altro. La migrazione del dispositivo può provocare una breve interruzione mentre IoT Central elabora le modifiche. Per altre informazioni, vedere Eseguire la migrazione di un dispositivo tra versioni.

Numeri di versione

I modelli di dispositivo e le interfacce hanno numeri di versione. I diversi numeri di versione consentono a modelli o interfacce di condividere un valore @id, fornendo al tempo stesso una cronologia degli aggiornamenti. I numeri di versione vengono incrementati solo se si sceglie di creare versioni del modello o dell'interfaccia o se si cambia deliberatamente il numero di versione. È consigliabile cambiare un numero di versione quando si apporta una modifica principale a un modello o a un'interfaccia.

Il frammento di codice seguente mostra il modello di dispositivo per un dispositivo termostato. Il modello di dispositivo ha un'unica interfaccia. È possibile visualizzare il numero di versione, 1, alla fine del@id campo.

{
  "@context": "dtmi:dtdl:context;2",
  "@id": "dtmi:com:example:Thermostat;1",
  "@type": "Interface",
  "displayName": "Thermostat",
  "description": "Reports current temperature and provides desired temperature control.",
  "contents": [
    // ...
  ]
}

Per visualizzare queste informazioni nell'interfaccia utente di IoT Central, selezionare Visualizza identità nell'editor dei modelli di dispositivo:

Screenshot che mostra come visualizzare l'identità di un'interfaccia per visualizzare il numero di versione.

Creare una versione del modello di dispositivo

Per creare una versione di un modello di dispositivo:

  1. Passare alla pagina Modelli di dispositivo .
  2. Selezionare il modello di dispositivo di cui si vuole creare una versione.
  3. Selezionare Versione nella parte superiore della pagina e assegnare al modello un nuovo nome. IoT Central suggerisce un nuovo nome, che può essere modificato.
  4. Selezionare Crea.

È stato ora creato un nuovo modello con un'identità univoca, non collegata ad alcun dispositivo esistente.

Creare versioni di un'interfaccia

Per creare versioni di un'interfaccia:

  1. Passare alla pagina Modelli di dispositivo .
  2. Selezionare il modello di dispositivo disponibile in modalità bozza.
  3. Selezionare l'interfaccia pubblicata di cui si vuole creare una versione e che si vuole modificare.
  4. Selezionare Versione nella parte superiore della pagina dell'interfaccia.
  5. Selezionare Crea.

È stata ora creata una nuova interfaccia con un'identità univoca che non viene sincronizzata con la versione precedente dell'interfaccia.

Eseguire la migrazione di un dispositivo tra versioni

È possibile creare più versioni del modello di dispositivo. Nel corso del tempo si avranno più dispositivi connessi che usano questi modelli di dispositivo. È possibile eseguire la migrazione dei dispositivi da una versione del modello di dispositivo a un'altra. I passaggi seguenti descrivono come eseguire la migrazione di un dispositivo:

  1. Andare alla pagina Dispositivi.

  2. Selezionare il dispositivo di cui eseguire la migrazione a un'altra versione.

  3. Scegliere Migrate (Eseguire la migrazione):

    Screenshot che mostra come scegliere l'opzione per avviare la migrazione di un dispositivo.

  4. Selezionare il modello di dispositivo con la versione in cui si vuole eseguire la migrazione del dispositivo e selezionare Esegui migrazione.

Suggerimento

È possibile usare un processo per eseguire la migrazione di tutti i dispositivi in un gruppo di dispositivi a un nuovo modello di dispositivo contemporaneamente.

Passaggi successivi

Se si è un operatore o un generatore di soluzioni, un passaggio successivo suggerito consiste nell'apprendere come gestire i dispositivi.

Se si è uno sviluppatore di dispositivi, un passaggio successivo consigliato consiste nel leggere informazioni sui dispositivi Azure IoT Edge e Azure IoT Central.