Condividi tramite


Proprietà dei moduli gemelli "agente di IoT Edge" e "hub di IoT Edge"

Si applica a:Segno di spunta IoT Edge 1.5 IoT Edge 1.5

Importante

IoT Edge 1.5 LTS è la versione supportata. IoT Edge 1.4 LTS è in fine vita a partire dal 12 novembre 2024. Se si usa una versione precedente, vedere Aggiornare IoT Edge.

L'agente di IoT Edge e l'hub di IoT Edge sono due moduli che costituiscono il runtime di IoT Edge. Per altre informazioni sulle responsabilità di ogni modulo di runtime, vedere Comprendere il runtime di Azure IoT Edge e la relativa architettura.

Questo articolo descrive le proprietà desiderate e quelle segnalate dei moduli gemelli del runtime. Per altre informazioni su come distribuire moduli nei dispositivi IoT Edge, vedere Come distribuire moduli e stabilire route in IoT Edge.

Un modulo gemello include:

  • Proprietà desiderate. Il back-end della soluzione imposta le proprietà desiderate e il modulo le legge. Il modulo riceve anche notifiche di modifiche nelle proprietà desiderate. Le proprietà desiderate vengono usate insieme alle proprietà segnalate per sincronizzare la configurazione o le condizioni del modulo.

  • Proprietà segnalate. Il modulo imposta le proprietà segnalate e il back-end della soluzione le legge ed esegue query. Le proprietà segnalate vengono usate insieme alle proprietà desiderate per sincronizzare la configurazione o le condizioni del modulo.

Proprietà desiderate di EdgeAgent

Il modulo gemello per l'agente IoT Edge è denominato $edgeAgent. Coordina le comunicazioni tra l'agente IoT Edge in esecuzione in un dispositivo e l'hub IoT. Le proprietà desiderate vengono impostate durante l'applicazione di un manifesto della distribuzione in un dispositivo specifico nell'ambito di una distribuzione di un singolo dispositivo o su larga scala.

Proprietà Descrizione Obbligatoria
imagePullPolicy Specifica quando eseguire il pull dell'immagine: OnCreate o Never. Usare Mai se l'immagine è già presente nel dispositivo.
restartPolicy Quando il modulo deve essere riavviato. I valori possibili sono: Mai: non riavviare il modulo se non funziona, Sempre: riavviare sempre il modulo se non funziona, On-Unhealthy: riavviare il modulo se non è integro. Non integro è ciò che Docker segnala in base a un controllo di integrità, ad esempio "Non integro - il container non funziona correttamente", On-Failed: riavviare se non riuscito.
runtime.type Deve essere docker.
runtime.settings.minDockerVersion Specifica la versione minima di Docker richiesta dal manifesto della distribuzione.
runtime.settings.loggingOptions Specifica un codice JSON stringato con le opzioni di registrazione per il contenitore dell'agente IoT Edge. Altre informazioni sulle opzioni di registrazione di Docker. NO
runtime.settings.registryCredentials.{registryId}.username Specifica il nome utente del registro contenitori. Per Registro Azure Container, il nome utente corrisponde in genere al nome del registro. Le credenziali del Registro di sistema sono necessarie per le immagini del modulo privato. NO
runtime.settings.registryCredentials.{registryId}.password Password del registro contenitori. NO
runtime.settings.registryCredentials.{registryId}.address Indirizzo del registro contenitori. Per Registro Azure Container, l'indirizzo è in genere {nome registro}.azurecr.io. NO
schemaVersion Specifica 1.0 o 1.1. È consigliata la versione 1.1, introdotta con IoT Edge versione 1.0.10.
status Stato desiderato del modulo: In esecuzione o Arrestato. Obbligatoria
systemModules.edgeAgent.type Deve essere docker.
systemModules.edgeAgent.startupOrder Specifica un numero intero per la posizione del modulo nell'ordine di avvio. 0 è primo e numero intero massimo (4294967295) è l'ultimo. Se non viene specificato alcun valore, il valore predefinito è max integer. NO
systemModules.edgeAgent.settings.image Specifica l'URI dell'immagine dell'agente IoT Edge. L'agente IoT Edge non può aggiornarsi.
systemModules.edgeAgent.settings.createOptions Specifica un codice JSON stringato con opzioni per la creazione del contenitore dell'agente IoT Edge. Altre informazioni sulle opzioni di creazione di Docker. NO
systemModules.edgeAgent.configuration.id ID della distribuzione che ha distribuito questo modulo. L'hub IoT imposta questa proprietà quando il manifesto viene applicato tramite una distribuzione. Non fa parte di un manifesto della distribuzione.
systemModules.edgeHub.type Deve essere docker.
systemModules.edgeHub.status Deve essere running.
systemModules.edgeHub.restartPolicy Deve essere always.
systemModules.edgeHub.startupOrder Valore intero per il cui spot è presente un modulo nell'ordine di avvio. Il primo numero intero è 0 e l’ultimo massimo è (4294967295). Se non viene specificato un valore, il valore predefinito è il numero intero massimo. NO
systemModules.edgeHub.settings.image URI dell'immagine dell'hub di IoT Edge.
systemModules.edgeHub.settings.createOptions Un file JSON in formato stringa contenente le opzioni per la creazione del contenitore dell'hub di IoT Edge. Opzioni di creazione di Docker NO
systemModules.edgeHub.configuration.id ID della distribuzione che ha distribuito questo modulo. L'hub IoT imposta questa proprietà quando il manifesto viene applicato tramite una distribuzione. Non fa parte di un manifesto della distribuzione.
modules.{moduleId}.version Una stringa definita dall'utente che rappresenta la versione di questo modulo.
modules.{moduleId}.type Deve essere docker.
modules.{moduleId}.status {running | stopped}
modules.{moduleId}.restartPolicy {mai | sempre}
modules.{moduleId}.startupOrder Valore intero per la cui posizione è presente un modulo nell'ordine di avvio. Il primo numero intero è 0 e l’ultimo massimo è (4294967295). Se non viene specificato un valore, il valore predefinito è il numero intero massimo. NO
modules.{moduleId}.imagePullPolicy {on-create | never} NO
modules.{moduleId}.env Elenco di variabili di ambiente da passare al modulo. Assume il formato "<name>": {"value": "<value>"}. NO
modules.{moduleId}.settings.image URI dell'immagine del modulo.
modules.{moduleId}.settings.createOptions Un file JSON in formato stringa contenente le opzioni per la creazione del contenitore del modulo. Opzioni di creazione di Docker NO
modules.{moduleId}.configuration.id ID della distribuzione che ha distribuito questo modulo. L'hub IoT imposta questa proprietà quando il manifesto viene applicato tramite una distribuzione. Non fa parte di un manifesto della distribuzione.
version Iterazione corrente con versione, commit e compilazione. NO

Proprietà segnalate di EdgeAgent

Le proprietà segnalate dell'agente IoT Edge includono tre informazioni principali:

  • Stato dell'applicazione delle proprietà desiderate dell'ultima visualizzazione,
  • Stato dei moduli attualmente in esecuzione nel dispositivo come segnalato dall'agente IoT Edge e
  • Copia delle proprietà desiderate attualmente in esecuzione nel dispositivo.

La copia delle proprietà desiderate correnti consente di determinare se il dispositivo ha applicato la distribuzione più recente o se sta ancora eseguendo un manifesto della distribuzione precedente.

Note

È possibile eseguire query sulle proprietà segnalate dell'agente IoT Edge con il linguaggio di query dell'hub IoT per analizzare lo stato della distribuzione su larga scala. Scopri come utilizzare le proprietà dell'agente IoT Edge per controllare lo stato in Comprendere le distribuzioni di IoT Edge per dispositivi singoli o su larga scala.

La tabella seguente non include le informazioni copiate dalle proprietà desiderate.

Proprietà Descrizione
lastDesiredStatus.code Codice di stato per le ultime proprietà desiderate visualizzate dall'agente IoT Edge. Valori consentiti: 200 Success, 400 Invalid configuration, 412 Invalid schema version, 417 the desired properties are empty, 500 Failed.
lastDesiredStatus.description Descrizione di testo dello stato.
lastDesiredVersion Questo integer si riferisce all'ultima versione delle proprietà desiderate elaborate dall'agente di IoT Edge.
runtime.platform.OS Segnala il sistema operativo in esecuzione nel dispositivo.
runtime.platform.architecture Segnala l'architettura della CPU nel dispositivo.
schemaVersion Versione dello schema delle proprietà segnalate.
systemModules.edgeAgent.runtimeStatus Stato segnalato dell'agente di IoT Edge: {running | unhealthy}.
systemModules.edgeAgent.statusDescription Descrizione di testo dello stato segnalato dell'agente di IoT Edge.
systemModules.edgeAgent.exitCode Codice di uscita segnalato dal contenitore dell’agente di IoT Edge se il contenitore viene chiuso.
systemModules.edgeAgent.lastStartTimeUtc Ora dell'ultimo avvio dell'agente di IoT Edge.
systemModules.edgeAgent.lastExitTimeUtc Ora dell'ultima chiusura dell'agente di IoT Edge.
systemModules.edgeHub.runtimeStatus Stato dell'hub di IoT Edge: { running | stopped | failed | backoff | unhealthy }.
systemModules.edgeHub.statusDescription Descrizione di testo dello stato dell'hub di IoT Edge, se unhealthy.
systemModules.edgeHub.exitCode Codice di uscita segnalato dal contenitore dell’hub di IoT Edge se il contenitore viene chiuso.
systemModules.edgeHub.lastStartTimeUtc Ora dell'ultimo avvio dell'hub di IoT Edge.
systemModules.edgeHub.lastExitTimeUtc Ora dell'ultima uscita dell'hub di IoT Edge.
systemModules.edgeHub.lastRestartTimeUtc Ora dell'ultimo riavvio dell'hub di IoT Edge.
systemModules.edgeHub.restartCount Numero di tentativi di riavvio del modulo nell'ambito dei criteri di riavvio.
modules.{moduleId}.runtimeStatus Stato del modulo: { running | stopped | failed | backoff | unhealthy }.
modules.{moduleId}.statusDescription Descrizione di testo dello stato del modulo, se unhealthy.
modules.{moduleId}.exitCode Codice di uscita segnalato dal contenitore del modulo se il contenitore viene chiuso.
modules.{moduleId}.lastStartTimeUtc Ora dell'ultimo avvio del modulo.
modules.{moduleId}.lastExitTimeUtc Ora dell'ultima uscita del modulo.
modules.{moduleId}.lastRestartTimeUtc Ora dell'ultimo riavvio del modulo.
modules.{moduleId}.restartCount Numero di tentativi di riavvio del modulo nell'ambito dei criteri di riavvio.
version Versione dell'immagine. Esempio: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

Proprietà desiderate di EdgeHub

Il dispositivo gemello del modulo per l'hub di IoT Edge è denominato $edgeHub e coordina le comunicazioni tra l'hub di IoT Edge in esecuzione su un dispositivo e l'hub IoT. Le proprietà desiderate vengono impostate durante l'applicazione di un manifesto della distribuzione in un dispositivo specifico nell'ambito di una distribuzione di un singolo dispositivo o su larga scala.

Proprietà Descrizione Obbligatoria nel manifesto della distribuzione
schemaVersion 1.0 o 1.1. La versione 1.1 è stata introdotta con IoT Edge versione 1.0.10 ed è consigliata.
routes.{routeName} Stringa che rappresenta una route dell'hub di IoT Edge. Per altre informazioni, vedere le Dichiarare le route. L'elemento routes può essere presente, ma vuoto.
storeAndForwardConfiguration.timeToLiveSecs Tempo, espresso in secondi, in cui l'hub di IoT Edge conserva i messaggi in caso di disconnessione dagli endpoint di routing, sia che si tratti dell'hub di IoT o di un modulo locale. Questo tempo persiste su eventuali spegnimenti o riavvii. Per ulteriori informazioni, vedere Capacità offline.

Proprietà segnalate di EdgeHub

Proprietà Descrizione
lastDesiredVersion Questo integer si riferisce all'ultima versione delle proprietà desiderate elaborate dall'hub di IoT Edge.
lastDesiredStatus.code Il codice di stato che fa riferimento alle ultime proprietà desiderate visualizzate dall'hub di IoT Edge. Valori consentiti: 200 Success, 400 Invalid configuration, 500 Failed
lastDesiredStatus.description Descrizione di testo dello stato.
client Tutti i client connessi a edgeHub con lo stato e l'ora dell'ultima connessione. Esempio: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }.
clients.{device or moduleId}.status Stato di connettività del dispositivo o del modulo. Valori possibili {connected | disconnected}. Solo le identità del modulo possono essere in stato disconnected. I dispositivi downstream che si connettono all'hub di IoT Edge vengono visualizzati solo quando lo stato è connected.
clients.{device or moduleId}.lastConnectTime Ultima ora di connessione del dispositivo o del modulo.
clients.{device or moduleId}.lastDisconnectTime Ultima ora di disconnessione del dispositivo o del modulo.
schemaVersion Versione dello schema delle proprietà segnalate.
version Versione dell'immagine. Esempio: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

Passaggi successivi

Per informazioni su come usare queste proprietà per generare i manifesti di distribuzione, vedere Informazioni su come usare, configurare e riusare i moduli IoT Edge.