Distribuire moduli di IoT Edge su larga scala tramite il portale di Azure

Si applica a:IoT Edge 1.4 checkmark IoT Edge 1.4

Importante

IoT Edge 1.4 è la versione supportata. Se si usa una versione precedente, vedere Aggiornare IoT Edge.

Creare una distribuzione automatica di IoT Edge nel portale di Azure per gestire le distribuzioni in corso per più dispositivi contemporaneamente. Le distribuzioni automatiche per IoT Edge fanno parte della funzionalità di gestione dei dispositivi di hub IoT. Le distribuzioni sono processi dinamici che consentono di distribuire più moduli in più dispositivi, di tenere traccia dello stato e dell'integrità dei moduli, nonché di apportare modifiche all'occorrenza.

Per altre informazioni, vedere Informazioni sulle distribuzioni automatiche di IoT Edge per singoli dispositivi o su vasta scala.

Identificare i dispositivi tramite tag

Prima di poter creare una distribuzione, è necessario essere in grado di specificare i dispositivi a cui la si vuole applicare. Azure IoT Edge identifica i dispositivi tramite tag nel dispositivo gemello. Ogni dispositivo può avere più tag, che è possibile definire in qualsiasi modo risulti appropriato per una soluzione specifica.

Ad esempio, se si gestisce un campus di edifici intelligenti, è possibile aggiungere tag di posizione, tipo di stanza e ambiente a un dispositivo:

"tags":{
  "location":{
    "building": "20",
    "floor": "2"
  },
  "roomtype": "conference",
  "environment": "prod"
}

Per altre informazioni sui dispositivi gemelli e i tag, vedere Comprendere e usare dispositivi gemelli nell'hub IoT.

Creare una distribuzione

IoT Edge offre due diversi tipi di distribuzioni automatiche che è possibile usare per personalizzare lo scenario. È possibile creare una distribuzione standard, che include i moduli di runtime di sistema ed eventuali moduli e route aggiuntivi. Ogni dispositivo può applicare una sola distribuzione. In alternativa, è possibile creare una distribuzione a più livelli, che include solo moduli e route personalizzati, non il runtime di sistema. Molte distribuzioni a più livelli possono essere combinate in un dispositivo, oltre a una distribuzione standard. Per altre informazioni sul funzionamento dei due tipi di distribuzioni automatiche, vedere Informazioni sulle distribuzioni automatiche di IoT Edge per singoli dispositivi o su larga scala.

I passaggi per la creazione di una distribuzione e una distribuzione a più livelli sono molto simili. Le eventuali differenze vengono evidenziate nei passaggi seguenti.

  1. Nel portale di Azure passare al hub IoT.
  2. Nel menu nel riquadro sinistro selezionare Configurazioni e distribuzioni in Gestione dispositivi.
  3. Nella barra superiore selezionare Aggiungi>distribuzione o Aggiungi distribuzione a più livelli.

La creazione di una distribuzione prevede cinque passaggi, illustrati nelle sezioni seguenti.

Nota

I passaggi descritti in questo articolo riflettono la versione più recente dello schema dell'agente e dell'hub IoT Edge.

Se si esegue la distribuzione in un dispositivo che esegue la versione 1.0.9 o precedente, modificare il runtime Impostazioni nel passaggio Moduli della procedura guidata per usare la versione dello schema 1.0.

Passaggio 1: Nome ed etichetta

  1. Assegnare alla distribuzione un nome univoco contenente al massimo 128 lettere minuscole. Evitare gli spazi e i seguenti caratteri non validi: & ^ [ ] { } \ | " < > /.
  2. È possibile aggiungere etichette come coppie chiave-valore per tenere traccia delle distribuzioni. Ad esempio, PiattaformaHost e Linux oppure Versione e 3.0.1.
  3. Selezionare Avanti: Moduli per passare al passaggio 2.

Passaggio 2: Moduli

È possibile aggiungere fino a 50 moduli a una distribuzione. Se si crea una distribuzione senza moduli, i moduli correnti vengono rimossi dai dispositivi di destinazione.

Nelle distribuzioni è possibile gestire le impostazioni per i moduli dell'agente IoT Edge e dell'hub IoT Edge. Selezionare Runtime Impostazioni per configurare i due moduli di runtime. Nella distribuzione a più livelli, i moduli di runtime non sono inclusi, quindi non possono essere configurati.

Per aggiungere codice personalizzato come modulo o aggiungere manualmente un modulo per un servizio di Azure, seguire questa procedura:

  1. Nella sezione Registro Contenitori Impostazioni della pagina specificare le credenziali per accedere ai registri contenitori privati che contengono le immagini del modulo.

  2. Nella sezione Moduli IoT Edge della pagina selezionare Aggiungi.

  3. Scegliere uno dei tre tipi di moduli dal menu a discesa:

    • Modulo IoT Edge: specificare il nome del modulo e l'URI dell'immagine del contenitore. Ad esempio, l'URI dell'immagine per il modulo SimulatedTemperatureSensor di esempio è mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0. Se l'immagine del modulo viene archiviata in un registro contenitori privato, aggiungere le credenziali in questa pagina per accedere all'immagine.
    • Modulo Marketplace: moduli ospitati in Azure Marketplace. Alcuni moduli del Marketplace richiedono una configurazione aggiuntiva, quindi esaminare i dettagli del modulo nell'elenco Moduli IoT Edge di Azure Marketplace.
    • Modulo di Analisi di flusso di Azure: moduli generati da un carico di lavoro di Analisi di flusso di Azure.
  4. Se necessario, ripetere i passaggi 2 e 3 per aggiungere altri moduli alla distribuzione.

Dopo aver aggiunto un modulo a una distribuzione, è possibile selezionarne il nome per aprire la pagina Aggiorna modulo IoT Edge. In questa pagina è possibile modificare le impostazioni del modulo, le variabili di ambiente, le opzioni di creazione, l'ordine di avvio e il modulo gemello. Se è stato aggiunto un modulo dal marketplace, potrebbero essere già stati compilati alcuni di questi parametri. Per altre informazioni sulle impostazioni del modulo disponibili, vedere Configurazione e gestione dei moduli.

Se si sta creando una distribuzione a più livelli, è possibile configurare un modulo esistente in altre distribuzioni destinate agli stessi dispositivi. Per aggiornare il modulo gemello senza sovrascrivere altre versioni, aprire la scheda Modulo gemello Impostazioni. Creare una nuova proprietà del modulo gemello con un nome univoco per una sottosezione all'interno delle proprietà desiderate del modulo gemello, ad esempio properties.desired.settings. Se si definiscono le proprietà all'interno solo del properties.desired campo, sovrascriverà le proprietà desiderate per il modulo definito in qualsiasi distribuzione con priorità inferiore.

Screenshot showing how to set the module twin property for layered deployment.

Per altre informazioni sulla configurazione dei moduli gemelli nelle distribuzioni a più livelli, vedere Distribuzione a più livelli.

Dopo aver configurato tutti i moduli per una distribuzione, selezionare Avanti: Route da spostare al passaggio 3.

Passaggio 3: Route

Nella scheda Route è possibile definire come vengono passati i messaggi tra i moduli e l'hub IoT. I messaggi vengono costruiti mediante coppie nome/valore.

Ad esempio, una route con una route dei nomi e un valore FROM /messages/* INTO $upstream eseguirà qualsiasi output dei messaggi da qualsiasi modulo e li invierà all'hub IoT.

I parametri Priority e Time to Live sono parametri facoltativi che è possibile includere in una definizione di route. Il parametro priority consente di scegliere quali route devono essere elaborate per prime o quali route devono essere elaborate per ultime. La priorità viene determinata impostando un numero da 0 a 9, dove 0 è la priorità superiore. Il parametro time-to-live consente di dichiarare per quanto tempo devono essere mantenuti i messaggi in tale route fino a quando non vengono elaborati o rimossi dalla coda.

Per altre informazioni su come creare route, vedere Dichiarare le route.

Selezionare Avanti: Dispositivi di destinazione.

Passaggio 4: Assegnare i dispositivi di destinazione

Usare la proprietà tags dai dispositivi per selezionare i dispositivi specifici che devono ricevere la distribuzione.

Dato che più distribuzioni potrebbero avere come destinazione lo stesso dispositivo, è necessario assegnare a ogni distribuzione un numero di priorità. Se si verifica un conflitto, la distribuzione con la priorità più alta (i valori più grandi indicano la priorità più alta) prevale. Se due distribuzioni hanno lo stesso numero di priorità, prevale quella creata più di recente.

Se più distribuzioni hanno come destinazione lo stesso dispositivo, viene applicato solo quello con priorità più alta. Se più distribuzioni a più livelli hanno come destinazione lo stesso dispositivo, vengono applicate tutte. Tuttavia, se vengono duplicate proprietà, ad esempio se sono presenti due route con lo stesso nome, quella dalla distribuzione a più livelli con priorità superiore sovrascrive il resto.

Qualsiasi distribuzione a più livelli destinata a un dispositivo deve avere una priorità più alta rispetto alla distribuzione di base per poter essere applicata.

  1. Immettere un numero intero positivo in Priority (Priorità) per la distribuzione.
  2. Specificare una condizione in Target condition (Condizione di destinazione) per determinare i dispositivi di destinazione di questa distribuzione. La condizione è basata sui tag o sulle proprietà segnalate dei dispositivi gemelli e deve corrispondere al formato di espressione. Ad esempio, tags.environment='test' o properties.reported.devicemodel='4000x'.

Selezionare Avanti: Metriche.

Passaggio 5: Metriche

Le metriche forniscono i conteggi di riepilogo dei diversi stati che un dispositivo può segnalare dopo l'applicazione del contenuto della configurazione.

  1. Immettere un nome per Nome della metrica

  2. Immettere una query per Metric Criteria (Criteri metrica). La query è basata sulle proprietà segnalate del modulo gemello hub di IoT Edge. La metrica rappresenta il numero di righe restituite dalla query.

    Ad esempio:

    SELECT deviceId FROM devices
      WHERE properties.reported.lastDesiredStatus.code = 200
    

Selezionare Avanti: Rivedi e crea per passare al passaggio finale.

Passaggio 6: Rivedere e creare

Esaminare le informazioni sulla distribuzione e quindi selezionare Crea.

Per monitorare la distribuzione, vedere Monitorare le distribuzioni di IoT Edge.

Nota

Quando viene creata una nuova distribuzione di IoT Edge, a volte possono essere necessari fino a 5 minuti prima che il hub IoT elabori la nuova configurazione e propaga le nuove proprietà desiderate ai dispositivi di destinazione.

Modificare una distribuzione

Quando si modifica una distribuzione, le modifiche vengono replicate immediatamente in tutti i dispositivi di destinazione. È possibile modificare le impostazioni e le funzionalità seguenti per una distribuzione esistente:

  • Condizioni di destinazione
  • Metriche personalizzate
  • Etichette
  • Tag
  • Proprietà desiderate

Modificare le condizioni di destinazione, le metriche personalizzate e le etichette

  1. Nell'hub IoT selezionare Configurazioni e distribuzioni dal menu del riquadro a sinistra.

  2. Selezionare la distribuzione da configurare.

  3. Selezionare la scheda Dispositivi di destinazione. Modificare la condizione di destinazione in modo che punti ai dispositivi desiderati. È anche possibile modificare la priorità.

    Se si aggiorna la condizione di destinazione, vengono eseguiti gli aggiornamenti seguenti:

    • Se un dispositivo non soddisfa la condizione di destinazione precedente, ma soddisfa la nuova condizione di destinazione e questa distribuzione ha la priorità più alta per il dispositivo, la distribuzione viene applicata al dispositivo.
    • Se un dispositivo che esegue la distribuzione non soddisfa più la condizione di destinazione, disinstalla questa distribuzione e riceve la distribuzione successiva nell'ordine di priorità.
    • Se un dispositivo che esegue la distribuzione non soddisfa più la condizione di destinazione e non soddisfa la condizione di destinazione di tutte le altre distribuzioni, nel dispositivo non viene apportata alcuna modifica. Il dispositivo continua a eseguire i moduli corrente nello stato corrente, ma non è più gestito come parte di questa distribuzione. Quando soddisfa la condizione di destinazione di qualsiasi altra distribuzione, disinstalla questa distribuzione e riceve quella nuova.
  4. Selezionare la scheda Metriche e fare clic sul pulsante Modifica metriche . Aggiungere o modificare metriche personalizzate usando la sintassi di esempio come guida. Seleziona Salva.

    Screenshot showing how to edit custom metrics in a deployment.

  5. Selezionare la scheda Etichette e apportare le modifiche desiderate e selezionare Salva.

Eliminare una distribuzione

Quando si elimina una distribuzione, tutti i dispositivi distribuiti assumono la successiva distribuzione con priorità più alta. Se i dispositivi non soddisfano la condizione di destinazione di qualsiasi altra distribuzione, i moduli non vengono rimossi in seguito all'eliminazione della distribuzione.

  1. Accedere al portale di Azure e passare all'hub IoT.
  2. Selezionare Configurazioni e distribuzioni.
  3. Usare la casella di controllo per selezionare la distribuzione che si vuole eliminare.
  4. Selezionare Elimina.
  5. Un messaggio indicherà che questa azione comporta l'eliminazione della distribuzione e il ripristino dello stato precedente per tutti i dispositivi. Verrà applicata una distribuzione con priorità più bassa. Se non viene assegnata alcun'altra distribuzione, i moduli non verranno rimossi. Per rimuovere tutti i moduli dai dispositivi, creare una distribuzione senza moduli e assegnarla agli stessi dispositivi. Seleziona per continuare.

Passaggi successivi

Altre informazioni sulla distribuzione di moduli nei dispositivi IoT Edge.