Share via


Come rieffettuare il provisioning dei dispositivi

Durante il ciclo di vita di una soluzione IoT, è comune spostare i dispositivi tra hub IoT. Questo argomento viene scritto per aiutare gli operatori della soluzione a configurare i criteri di reprovisioning.

Per una panoramica più dettagliata degli scenari di reprovisioning, vedere hub IoT Concetti relativi al provisioning dei dispositivi.

Impostare i criteri di reprovisioning

La procedura seguente consente di configurare i criteri di reprovisioning per una singola registrazione o gruppo di registrazione:

  1. Accedere al portale di Azure e aprire l'istanza del servizio Device Provisioning.

  2. Selezionare Gestisci registrazioni e quindi selezionare le schede Gruppi di registrazione o Registrazioni singole.

  3. Selezionare il nome del gruppo di registrazione o della registrazione singola che si vuole configurare per il reprovisioning.

  4. Usare il menu a discesa in Criteri di reprovisioning per scegliere uno dei criteri di reprovisioning seguenti:

    • Non eseguire mai il provisioning del dispositivo.

    • Effettuare nuovamente il provisioning del dispositivo e reimpostare lo stato iniziale: questo criterio esegue un'azione quando i dispositivi associati alla voce di registrazione inviano una nuova richiesta di provisioning. A seconda della configurazione della voce di registrazione, il dispositivo può essere riassegnato a un altro hub IoT. Se il dispositivo sta cambiando hub IoT, la registrazione del dispositivo con l'hub IoT iniziale verrà rimossa. I dati di configurazione iniziali che l'istanza del servizio di provisioning ha ricevuto durante il provisioning del dispositivo vengono forniti al nuovo hub IoT. Durante la migrazione, lo stato del dispositivo risulterà come In fase di assegnazione.

    • Effettuare nuovamente il provisioning del dispositivo e eseguire la migrazione dello stato corrente: questo criterio esegue un'azione quando i dispositivi associati alla voce di registrazione inviano una nuova richiesta di provisioning. A seconda della configurazione della voce di registrazione, il dispositivo può essere riassegnato a un altro hub IoT. Se il dispositivo sta cambiando hub IoT, la registrazione del dispositivo con l'hub IoT iniziale verrà rimossa. Tutte le informazioni sullo stato del dispositivo da tale hub IoT iniziale verranno migrate sul nuovo hub IoT. Durante la migrazione, lo stato del dispositivo risulterà come In fase di assegnazione

  5. Selezionare Salva per abilitare il provisioning del dispositivo in base alle modifiche.

Configurare i criteri di allocazione di registrazione

I criteri di allocazione determinano il modo in cui i dispositivi associati con la registrazione saranno allocati o assegnati a un hub IoT una volta rieffettuato il provisioning. Per altre informazioni sui criteri di allocazione, vedere Come usare i criteri di allocazione.

I passaggi seguenti consentono di configurare i criteri di allocazione per la registrazione di un dispositivo:

  1. Accedere al portale di Azure e aprire l'istanza del servizio Device Provisioning.

  2. Selezionare Gestisci registrazioni e quindi selezionare le schede Gruppi di registrazione o Registrazioni singole.

  3. Selezionare il nome del gruppo di registrazione o della registrazione singola che si vuole configurare per il reprovisioning.

  4. Nella pagina Dettagli registrazione selezionare la scheda Hub IoT.

  5. Selezionare uno dei criteri di allocazione seguenti:

    • Statico: questo criterio richiede che un hub IoT desiderato sia elencato nella voce di registrazione per il provisioning di un dispositivo. Questo criterio consente di designare un singolo hub IoT a cui assegnare i dispositivi.

    • Distribuzione ponderata in modo uniforme: questo criterio distribuisce i dispositivi tra hub IoT in base al peso di allocazione configurato in ogni hub IoT. È più probabile che vengano assegnati hub IoT con un peso di allocazione più elevato. Se si esegue il provisioning dei dispositivi in un solo hub IoT, è consigliabile usare questa impostazione. Questa è l'impostazione predefinita.

    • Latenza più bassa: questo criterio assegna i dispositivi all'hub IoT che comporterà la latenza più bassa tra il dispositivo e hub IoT. Questa opzione consente al dispositivo di comunicare con l'hub IoT più vicino in base alla posizione.

    • Personalizzato (usare la funzione di Azure): questo criterio usa un webhook personalizzato ospitato in Funzioni di Azure per assegnare i dispositivi a uno o più hub IoT. I criteri di allocazione personalizzati offrono un maggiore controllo sulla modalità di assegnazione dei dispositivi agli hub IoT. Per altre informazioni, vedere Informazioni sui criteri di allocazione personalizzati.

  6. In Hub IoT di destinazione selezionare gli hub IoT collegati da includere nei criteri di allocazione. Facoltativamente, aggiungere un nuovo hub Iot collegato usando il pulsante Aggiungi collegamento all'hub IoT.

    • Con il criterio di allocazione Configurazione statica si seleziona l'hub IoT a cui assegnare i dispositivi.

    • Con i criteri di allocazione della distribuzione ponderati in modo uniforme, i dispositivi verranno sottoposto a hashing tra gli hub IoT selezionati in base ai pesi di allocazione configurati.

    • Con i criteri di allocazione della latenza più bassa, gli hub IoT selezionati verranno inclusi nella valutazione della latenza per determinare l'hub IoT più vicino per l'assegnazione di dispositivi.

    • Con i criteri di allocazione personalizzati , selezionare gli hub IoT da valutare per l'assegnazione tramite il webhook di allocazione personalizzato.

  7. Seleziona Salva.

Inviare una richiesta di provisioning dal dispositivo

Affinché si possa rieffettuare il provisioning dei dispositivi in base alle modifiche alla configurazione apportate nelle sezioni precedenti, questi dispositivi devono richiedere un nuovo provisioning.

La frequenza con cui un dispositivo invia una richiesta di provisioning dipende dallo scenario. Quando si progetta la soluzione e si definisce una logica di reprovisioning, è necessario prendere in considerazione alcuni aspetti. Ad esempio:

  • Frequenza con cui si prevede che i dispositivi vengano riavviati
  • Quote e limiti del servizio Device Provisioning
  • Tempo di distribuzione previsto per la flotta (implementazione in più fasi e tutte contemporaneamente)
  • Funzionalità di ripetizione dei tentativi implementata nel codice client, come descritto nelle linee guida generali per i tentativi nel Centro architetture di Azure

Suggerimento

È consigliabile non effettuare il provisioning in ogni riavvio del dispositivo, perché ciò potrebbe raggiungere i limiti di limitazione del servizio, soprattutto quando si esegue il provisioning di diverse migliaia o milioni di dispositivi contemporaneamente. È invece consigliabile provare a usare l'API Device Registration Status Lookup (Ricerca stato registrazione dispositivo) e provare a connettersi a tali informazioni per hub IoT. In caso di errore, provare a eseguire nuovamente il provisioning perché le informazioni hub IoT potrebbero essere state modificate. Tenere presente che l'esecuzione di query per lo stato di registrazione verrà conteggiato come nuova registrazione del dispositivo, pertanto è consigliabile considerare il limite di registrazione del dispositivo. Prendere in considerazione anche l'implementazione di una logica di ripetizione dei tentativi appropriata, ad esempio il back-off esponenziale con randomizzazione, come descritto nelle linee guida generali per i tentativi. In alcuni casi, a seconda delle funzionalità del dispositivo, è possibile salvare le informazioni di hub IoT direttamente nel dispositivo per connettersi direttamente al hub IoT dopo il primo provisioning tramite DPS. Se si sceglie di eseguire questa operazione, assicurarsi di implementare un meccanismo di fallback nel caso in cui si verifichino errori specifici dall'hub, ad esempio, considerare gli scenari seguenti:

  • Ripetere l'operazione hub se il codice del risultato è 429 (troppe richieste) o un errore nell'intervallo 5xx. Non ripetere nuovi tentativi per altri tipi di errore.
  • Per gli errori 429, riprovare solo dopo il tempo indicato nell'intestazione Retry-After.
  • Per gli errori 5xx, usare il backoff esponenziale, con il primo tentativo effettuato almeno 5 secondi dopo la risposta.
  • In caso di errori diversi da 429 e 5xx, ripetere la registrazione tramite DPS
  • Idealmente è consigliabile supportare anche un metodo per attivare manualmente il provisioning su richiesta.

È anche consigliabile tenere conto dei limiti del servizio durante la pianificazione di attività come il push degli aggiornamenti alla flotta. Ad esempio, l'aggiornamento della flotta contemporaneamente potrebbe causare la nuova registrazione di tutti i dispositivi tramite DPS (che potrebbe essere facilmente superiore al limite di quota di registrazione). Per questi scenari, è consigliabile pianificare gli aggiornamenti dei dispositivi in fasi anziché aggiornare l'intera flotta contemporaneamente.

Passaggi successivi