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.
Applica a:
IoT Edge 1.5
Importante
IoT Edge 1.5 LTS è la versione supportata. IoT Edge 1,4 LTS ha raggiunto la fine della vita il 12 novembre 2024. Se si usa una versione precedente, vedere Update IoT Edge.
L'agente IoT Edge e l'hub IoT Edge sono due moduli che costituiscono il runtime di IoT Edge. Per altre informazioni sulle responsabilità di ogni modulo di runtime, vedere informazioni sul runtime di Azure IoT Edge e sulla 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 informazioni su come distribuire i 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. Usare le proprietà desiderate 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. Usare le proprietà segnalate insieme alle proprietà desiderate per sincronizzare la configurazione o le condizioni del modulo.
Proprietà desiderate di EdgeAgent
Il modulo gemello per l'agente di IoT Edge viene chiamato $edgeAgent. Coordina le comunicazioni tra l'agente IoT Edge in esecuzione in un dispositivo e IoT Hub. Impostare le proprietà desiderate quando si applica un manifesto di distribuzione in un dispositivo specifico come parte di una distribuzione a dispositivo singolo 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. | Sì |
restartPolicy |
Quando riavviare il modulo. I valori possibili sono: Mai: non riavviare il modulo se non è in esecuzione, Sempre: riavvia sempre il modulo se non è in esecuzione, Se non è sano: riavvia il modulo se non è sano, Se fallisce: riavvia se fallisce. Nota: Solo Mai e Always sono attualmente implementati. On-Unhealthy e On-Failed sono accettati dallo schema ma non avviano un riavvio. Per informazioni dettagliate, vedere IoT Edge limiti e restrizioni. | Sì |
runtime.type |
Deve essere docker. | Sì |
runtime.settings.minDockerVersion |
Specifica la versione minima di Docker richiesta dal manifesto della distribuzione. | Sì |
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 Azure Container Registry, il nome utente è in genere il nome del Registro di sistema. 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 Azure Container Registry, l'indirizzo è in genere {registry name}.azurecr.io. |
NO |
schemaVersion |
Specifica 1.0 o 1.1. È consigliata la versione 1.1, introdotta con IoT Edge versione 1.0.10. | Sì |
status |
Stato desiderato del modulo: In esecuzione o Arrestato. | Obbligatoria |
systemModules.edgeAgent.type |
Deve essere docker. | Sì |
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 si specifica un 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. | Sì |
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. | IoT Hub imposta questa proprietà quando si applica il manifesto usando una distribuzione. Non fa parte di un manifesto della distribuzione. |
systemModules.edgeHub.type |
Deve essere docker. | Sì |
systemModules.edgeHub.status |
Deve essere in esecuzione. | Sì |
systemModules.edgeHub.restartPolicy |
Deve essere sempre. | Sì |
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 si specifica un valore, il valore predefinito è max integer. | NO |
systemModules.edgeHub.settings.image |
URI dell'immagine dell'hub IoT Edge. | Sì |
systemModules.edgeHub.settings.createOptions |
JSON stringato contenente le opzioni per la creazione del contenitore hub IoT Edge. Opzioni di creazione di Docker | NO |
systemModules.edgeHub.configuration.id |
ID della distribuzione che ha distribuito questo modulo. | IoT Hub imposta questa proprietà quando si applica il manifesto usando 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. | Sì |
modules.{moduleId}.type |
Deve essere docker. | Sì |
modules.{moduleId}.status |
corsa | Fermato | Sì |
modules.{moduleId}.restartPolicy |
Mai | Sempre | Sì |
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 si specifica un valore, il valore predefinito è max integer. | NO |
modules.{moduleId}.imagePullPolicy |
on-create | mai | 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. | Sì |
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. | IoT Hub imposta questa proprietà quando si applica il manifesto usando 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 di IoT Edge usando il linguaggio di query di IoT Hub per analizzare lo stato della distribuzione su vasta scala. Per informazioni su come usare le proprietà dell'agente IoT Edge per lo stato, vedere Comprendere le distribuzioni IoT Edge per singoli dispositivi 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 numero intero fa riferimento all'ultima versione delle proprietà desiderate elaborate dall'agente 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 testuale dello stato segnalato dell'agente IoT Edge. |
systemModules.edgeAgent.exitCode |
Codice di uscita segnalato dal contenitore dell'agente IoT Edge se il contenitore viene chiuso. |
systemModules.edgeAgent.lastStartTimeUtc |
Ora dell'ultimo avvio dell'agente IoT Edge. |
systemModules.edgeAgent.lastExitTimeUtc |
Ora dell'ultima uscita dell'agente IoT Edge. |
systemModules.edgeHub.runtimeStatus |
Stato dell'hub IoT Edge: { in esecuzione | fermato | fallito | in retromarcia | non salutare }. |
systemModules.edgeHub.statusDescription |
Descrizione del testo dello stato dell'hub IoT Edge, se non integro. |
systemModules.edgeHub.exitCode |
Codice di uscita segnalato dal contenitore hub IoT Edge, se il contenitore viene chiuso. |
systemModules.edgeHub.lastStartTimeUtc |
Ora dell'ultimo avvio dell'hub IoT Edge. |
systemModules.edgeHub.lastExitTimeUtc |
Ora dell'ultima uscita dell'hub IoT Edge. |
systemModules.edgeHub.lastRestartTimeUtc |
Ora dell'ultimo riavvio dell'hub 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. Ad esempio: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Proprietà desiderate di EdgeHub
Il modulo gemello per un hub di IoT Edge viene chiamato $edgeHub. Coordina le comunicazioni tra l'hub IoT Edge in esecuzione su un dispositivo e IoT Hub. Impostare le proprietà desiderate quando si applica un manifesto di distribuzione in un dispositivo specifico come parte di una distribuzione a dispositivo singolo 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. | Sì |
routes.{routeName} |
Stringa che rappresenta un percorso hub IoT Edge. Per altre informazioni, vedere le Dichiarare le route. | L'elemento routes può essere presente, ma vuoto. |
storeAndForwardConfiguration.timeToLiveSecs |
Il tempo in secondi in cui il dispositivo IoT Edge hub mantiene i messaggi se è disconnesso dagli endpoint di routing, sia dagli IoT Hub che da un modulo locale. Questo tempo persiste su eventuali spegnimenti o riavvii. Per altre informazioni, vedere Funzionalità offline. | Sì |
Proprietà segnalate di EdgeHub
| Proprietà | Descrizione |
|---|---|
lastDesiredVersion |
Questo numero intero fa riferimento all'ultima versione delle proprietà desiderate elaborate dall'hub IoT Edge. |
lastDesiredStatus.code |
Codice di stato che fa riferimento alle ultime proprietà desiderate visualizzate dall'hub IoT Edge. Valori consentiti: Operazione 200 riuscita, 400 Configurazione non valida, 500 Operazione non riuscita. |
lastDesiredStatus.description |
Descrizione di testo dello stato. |
clients |
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: connesso o disconnesso. Solo le identità del modulo possono essere in stato disconnected. I dispositivi downstream che si connettono all'hub IoT Edge vengono visualizzati solo quando sono connessi. |
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. Ad esempio: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Passaggi successivi
Per informazioni su come usare queste proprietà per compilare manifesti di distribuzione, vedere Informazioni su come usare, configurare e riutilizzare i moduli IoT Edge.