Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:
IoT Edge 1.1
Importante
IoT Edge 1.1 data di fine del supporto è stata il 13 dicembre 2022. Controlla il ciclo di vita dei prodotti Microsoft per ottenere informazioni sul modo in cui viene supportato questo prodotto, servizio, tecnologia o API. Per altre informazioni sull'aggiornamento alla versione più recente di IoT Edge, vedere Aggiornare IoT Edge.
Azure IoT Edge supporta operazioni offline estese nei dispositivi IoT Edge e abilita anche le operazioni offline nei dispositivi downstream. Finché un dispositivo IoT Edge ha avuto un'opportunità di connettersi a hub IoT, tale dispositivo e qualsiasi dispositivo downstream può continuare a funzionare con connessione Internet intermittente o senza connessione Internet.
Come funziona
Quando un dispositivo IoT Edge passa alla modalità offline, l'hub di IoT Edge svolge tre ruoli. Prima di tutto, archivia i messaggi diretti upstream e li salva fino a quando il dispositivo si riconnette. In secondo luogo, agisce per conto dell'hub IoT per autenticare moduli e dispositivi downstream in modo che possano continuare a funzionare. In terzo luogo, consente la comunicazione tra dispositivi downstream che normalmente passano attraverso l'hub IoT.
L'esempio seguente mostra il funzionamento di uno scenario IoT Edge in modalità offline:
Configurare i dispositivi
Per i dispositivi IoT Edge le funzionalità offline vengono abilitate automaticamente. Per estendere tale funzionalità ad altri dispositivi, è necessario configurare i dispositivi downstream per considerare attendibile il dispositivo padre assegnato e instradare le comunicazioni da dispositivo a cloud tramite l'elemento padre come gateway.
Eseguire la sincronizzazione con l'hub IoT
Almeno una volta dopo l'installazione del runtime di IoT Edge, il dispositivo IoT Edge deve essere online per la sincronizzazione con l'hub IoT. In questa sincronizzazione, il dispositivo IoT Edge ottiene i dettagli su tutti i dispositivi downstream assegnati. Il dispositivo IoT Edge aggiorna inoltre in modo sicuro la cache locale per abilitare le operazioni offline e recupera le impostazioni per l'archiviazione locale dei messaggi di telemetria.
Disconnettersi
Durante la disconnessione da hub IoT, il dispositivo IoT Edge, i moduli distribuiti e tutti i dispositivi downstream possono funzionare a tempo indeterminato. I moduli e i dispositivi downstream possono essere avviati e riavviati eseguendo l'autenticazione con l'hub IoT Edge durante la modalità offline. I dati di telemetria previsti per l'invio upstream all'hub IoT vengono archiviati in locale. La comunicazione tra moduli o tra dispositivi downstream viene mantenuta tramite metodi o messaggi diretti.
Ristabilire la connessione e ripetere la sincronizzazione con l'hub IoT
Dopo il ripristino della connessione con l'hub IoT, il dispositivo IoT Edge viene sincronizzato di nuovo. I messaggi archiviati in locale vengono recapitati immediatamente all'hub IoT, ma dipendono dalla velocità della connessione, dalla latenza dell'hub IoT e da fattori correlati. Vengono recapitati nello stesso ordine in cui sono stati archiviati.
Eventuali differenze tra le proprietà desiderate e quelle segnalate per i moduli e i dispositivi vengono riconciliate. Il dispositivo IoT Edge aggiorna le modifiche apportate al set di dispositivi downstream assegnati.
Restrizioni e limiti
Le funzionalità offline estese descritte in questo articolo sono disponibili in IoT Edge versione 1.0.7 o successiva. Nelle versioni precedenti è disponibile un subset di funzionalità offline. I dispositivi IoT Edge esistenti che non hanno le funzionalità offline per periodi prolungati non possono essere aggiornati modificando la versione del runtime, ma devono essere riconfigurati con una nuova identità del dispositivo IoT Edge per ottenere queste funzionalità.
Solo i dispositivi non IoT Edge possono essere aggiunti come dispositivi downstream.
I dispositivi IoT Edge e i dispositivi downstream assegnati possono funzionare indefinitamente offline dopo la sincronizzazione iniziale una tantum. L'archiviazione dei messaggi dipende tuttavia dall'impostazione del tempo di vita (TTL) e dallo spazio su disco disponibile per archiviare i messaggi.
EdgeAgent di un dispositivo aggiorna le proprietà segnalate ogni volta che si verifica una modifica dello stato della distribuzione, ad esempio una distribuzione nuova o non riuscita. Quando un dispositivo è offline, EdgeAgent non può segnalare lo stato al portale di Azure. Pertanto, lo stato del dispositivo nella portale di Azure potrebbe rimanere 200 OK quando il dispositivo IoT Edge non ha connettività Internet.
Configurare i dispositivi padre e figlio
Per impostazione predefinita, un dispositivo padre può avere fino a 100 figli. È possibile modificare questo limite impostando la variabile di ambiente MaxConnectedClients nel modulo edgeHub. Un dispositivo figlio ha un solo elemento padre.
Annotazioni
Un dispositivo downstream genera dati direttamente in Internet o nei dispositivi gateway, abilitati o meno per IoT Edge. Un dispositivo figlio può essere un dispositivo downstream o un dispositivo gateway in una topologia annidata.
I dispositivi downstream possono essere qualsiasi dispositivo non IoT Edge registrato nello stesso hub IoT.
Se non si ha familiarità con la creazione di una relazione padre-figlio tra un dispositivo IoT Edge e un dispositivo IoT, vedere Autenticare un dispositivo downstream nell'hub IoT di Azure. Le sezioni chiave simmetrica, X.509 autofirmato e X.509 con firma CA illustrano esempi di come usare le portale di Azure e l'interfaccia della riga di comando di Azure per definire le relazioni padre-figlio durante la creazione di dispositivi. Per i dispositivi esistenti, è possibile dichiarare la relazione dalla pagina dei dettagli del dispositivo padre o del dispositivo figlio.
Configurare il dispositivo padre come gateway
È possibile pensare a una relazione padre/figlio come a un gateway trasparente, in cui il dispositivo figlio ha una propria identità nell'hub IoT ma comunica attraverso il cloud tramite il relativo padre. Per garantire la sicurezza della comunicazione, il dispositivo figlio deve poter verificare che il dispositivo padre provenga da una fonte attendibile. In caso contrario, terze parti potrebbero configurare dispositivi dannosi per impersonare i genitori e intercettare le comunicazioni.
Un modo per creare questa relazione di trust è descritto in dettaglio negli articoli seguenti:
- Configurare un dispositivo IoT Edge per funzionare come gateway trasparente
- Connettere un dispositivo downstream (figlio) a un gateway Azure IoT Edge
Specificare i server DNS
Per migliorare l'affidabilità, è consigliabile specificare gli indirizzi dei server DNS usati nell'ambiente. Per impostare il server DNS per IoT Edge, consulta la sezione l'agente Edge riporta 'file di configurazione vuoto' e nessun modulo viene avviato sul dispositivo nell'articolo sulla risoluzione dei problemi.
Impostazioni facoltative per la modalità offline
Se i dispositivi passano offline, il dispositivo padre IoT Edge archivia tutti i messaggi da dispositivo a cloud fino a quando non viene ristabilita la connessione. Il modulo dell'hub di IoT Edge gestisce l'archiviazione e l'inoltro di messaggi offline. Per i dispositivi che possono passare offline per periodi di tempo prolungati, ottimizzare le prestazioni configurando due impostazioni dell'hub di IoT Edge.
Per prima cosa, aumentare l'impostazione del tempo di vita (TTL) affinché l'hub IoT Edge mantenga i messaggi abbastanza a lungo da consentire la riconnessione del dispositivo. Aggiungere quindi spazio su disco aggiuntivo per l'archiviazione dei messaggi.
Durata (TTL)
L'impostazione del tempo di vita (TTL) è il tempo (in secondi) che un messaggio può attendere di essere consegnato prima che scada. Il valore predefinito è 7200 secondi (due ore). Il valore massimo è limitato solo dal valore massimo di una variabile di tipo Integer, che è di circa 2 miliardi.
Questa impostazione è una proprietà desiderata dell'hub di IoT Edge, che viene archiviata nel modulo gemello. È possibile eseguire la configurazione nel portale di Azure o direttamente nel manifesto della distribuzione.
"$edgeHub": {
"properties.desired": {
"schemaVersion": "1.0",
"routes": {},
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
}
Archiviazione host per i moduli di sistema
Per impostazione predefinita, i messaggi e le informazioni sullo stato dei moduli vengono archiviati nel file system del contenitore locale dell'hub di IoT Edge. Per una maggiore affidabilità, soprattutto quando si opera offline, è anche possibile dedicare spazio di archiviazione nel dispositivo IoT Edge host. Per altre informazioni, vedere Concedere ai moduli l'accesso all'archiviazione locale di un dispositivo
Passaggi successivi
Vedere altre informazioni su come configurare un gateway trasparente per le connessioni dei dispositivi padre/figlio: