Eigenschappen van de IoT Edge-agent en IoT Edge hubmodule-tweelingen

Van toepassing op:IoT Edge 1,5 controle IoT Edge 1,5

Belangrijk

IoT Edge 1.5 LTS is de ondersteunde release. IoT Edge 1.4 LTS bereikt het einde van de levensduur op 12 november 2024. Als u een eerdere versie gebruikt, raadpleegt u Update IoT Edge.

De IoT Edge-agent en IoT Edge hub zijn twee modules waaruit de IoT Edge runtime bestaat. Zie begrijp de Azure IoT Edge-runtime en bijbehorende architectuur voor meer informatie over de verantwoordelijkheden van elke runtimemodule.

Dit artikel bevat de gewenste eigenschappen en gerapporteerde eigenschappen van de runtime module tweelingen. Zie voor meer informatie over het implementeren van modules op IoT Edge apparaten hoe u modules implementeert en routes in IoT Edge instelt.

Een moduledubbel bevat:

  • Gewenste eigenschappen. De back-end van de oplossing stelt de gewenste eigenschappen in en de module leest deze. De module ontvangt ook meldingen van wijzigingen in de gewenste eigenschappen. Gebruik de gewenste eigenschappen samen met gerapporteerde eigenschappen om de configuratie of voorwaarden van de module te synchroniseren.

  • Gerapporteerde eigenschappen. De module stelt gerapporteerde eigenschappen in en de back-end van de oplossing leest en voert er query's op uit. Gebruik gerapporteerde eigenschappen samen met de gewenste eigenschappen om de configuratie of voorwaarden van de module te synchroniseren.

Gewenste eigenschappen van EdgeAgent

De moduledubbel voor de IoT Edge-agent wordt $edgeAgent genoemd. Het coördineert de communicatie tussen de IoT Edge-agent die wordt uitgevoerd op een apparaat en IoT Hub. Stel de gewenste eigenschappen in wanneer u een implementatiemanifest toepast op een specifiek apparaat als onderdeel van een implementatie met één apparaat of op schaal.

Eigenschap Beschrijving Vereist
imagePullPolicy Hiermee geeft u op wanneer de afbeelding moet worden opgehaald: OnCreate or Never. Gebruik Nooit wanneer de afbeelding al op het apparaat staat. Ja
restartPolicy Wanneer start u de module opnieuw op. Mogelijke waarden zijn: nooit: start de module niet opnieuw als deze niet actief is, on-failure: herstart de module als deze wordt afgesloten met een niet-nul afsluitcode, on-ongezond: herstart de module indien deze ongezond is (zie opmerking), altijd: herstart de module altijd als deze niet actief is. Opmerking: Het on-failure beleid start modules die afsluiten met een niet-nul exitcode opnieuw. Het on-unhealthy beleid wordt geaccepteerd door het schema, maar de runtime leidt momenteel geen beschadigde status af van Docker-statuscontroles, dus dit heeft geen praktisch effect. Zie IoT Edge limieten en beperkingen voor meer informatie. Ja
runtime.type Moet docker zijn. Ja
runtime.settings.minDockerVersion Hiermee geeft u de minimale Docker-versie op die is vereist voor dit implementatiemanifest. Ja
runtime.settings.loggingOptions Hiermee geeft u een tekenreeks-JSON op met de logboekregistratieopties voor de IoT Edge agentcontainer. Meer informatie over opties voor Docker-logboekregistratie. Nee
runtime.settings.registryCredentials.{registryId}.username Geeft de gebruikersnaam van het containerregister op. Voor Azure Container Registry is de gebruikersnaam meestal de registernaam. Aanmeldgegevens zijn vereist voor afbeeldingen van privémodules. Nee
runtime.settings.registryCredentials.{registryId}.password Het wachtwoord voor het containerregister. Nee
runtime.settings.registryCredentials.{registryId}.address Het adres van het containerregister. Voor Azure Container Registry is het adres meestal {registry name}.azurecr.io. Nee
schemaVersion Hiermee geeft u 1.0 of 1.1. Versie 1.1, geïntroduceerd met IoT Edge versie 1.0.10, wordt aanbevolen. Ja
status Gewenste status van de module: Actief of Gestopt. Vereist
systemModules.edgeAgent.type Moet docker zijn. Ja
systemModules.edgeAgent.startupOrder Hiermee geeft u een geheel getal op voor de positie van de module in de opstartvolgorde. 0 is eerst en het maximum aantal gehele getallen (4294967295) is de laatste. Als u geen waarde opgeeft, is de standaardwaarde het maximum gehele getal. Nee
systemModules.edgeAgent.settings.image Hiermee geeft u de URI van het IoT Edge agentafbeelding op. De IoT Edge-agent kan zichzelf niet bijwerken. Ja
systemModules.edgeAgent.settings.createOptions Hiermee geeft u een tekenreeks-JSON op met opties voor het maken van de IoT Edge agentcontainer. Meer informatie over opties voor Het maken van Docker. Nee
systemModules.edgeAgent.configuration.id De id van de implementatie die deze module heeft geïmplementeerd. IoT Hub deze eigenschap instelt wanneer u het manifest toepast met behulp van een implementatie. Geen deel uit van een implementatiemanifest.
systemModules.edgeHub.type Moet docker zijn. Ja
systemModules.edgeHub.status Moet worden uitgevoerd. Ja
systemModules.edgeHub.restartPolicy Dat moet altijd zo zijn. Ja
systemModules.edgeHub.startupOrder Een geheel getal dat aangeeft op welke plek een module in de opstartvolgorde staat. Een 0 is het eerste getal en het maximum aantal gehele getallen (4294967295) is de laatste. Als u geen waarde opgeeft, is de standaardwaarde het maximum gehele getal. Nee
systemModules.edgeHub.settings.image De URI van de afbeelding van de IoT Edge hub. Ja
systemModules.edgeHub.settings.createOptions Een JSON-tekenreeks met de opties voor het maken van de IoT Edge hub-container. Opties voor Docker-maken Nee
systemModules.edgeHub.configuration.id De id van de implementatie die deze module heeft geïmplementeerd. IoT Hub deze eigenschap instelt wanneer u het manifest toepast met behulp van een implementatie. Geen deel uit van een implementatiemanifest.
modules.{moduleId}.version Een door de gebruiker gedefinieerde tekenreeks die de versie van deze module vertegenwoordigt. Ja
modules.{moduleId}.type Moet docker zijn. Ja
modules.{moduleId}.status Met | Gestopt Ja
modules.{moduleId}.restartPolicy Nooit | bij-fout | bij-ongezond | Altijd Ja
modules.{moduleId}.startupOrder Een geheel getal voor de locatie die een module heeft in de opstartvolgorde. Een 0 is het eerste getal en het maximum aantal gehele getallen (4294967295) is de laatste. Als u geen waarde opgeeft, is de standaardwaarde het maximum gehele getal. Nee
modules.{moduleId}.imagePullPolicy on-create | Nooit Nee
modules.{moduleId}.env Een lijst met omgevingsvariabelen die aan de module moeten worden doorgegeven. Neemt het formaat "<name>": {"value": "<value>"}. Nee
modules.{moduleId}.settings.image De URI voor de moduleafbeelding. Ja
modules.{moduleId}.settings.createOptions Een tekenreeks-JSON met de opties voor het maken van de modulecontainer. Opties voor Docker-maken Nee
modules.{moduleId}.configuration.id De id van de implementatie die deze module heeft geïmplementeerd. IoT Hub deze eigenschap instelt wanneer u het manifest toepast met behulp van een implementatie. Geen deel uit van een implementatiemanifest.
version De huidige iteratie met versie, commit en build. Nee

Gerapporteerde eigenschappen van EdgeAgent

IoT Edge gerapporteerde eigenschappen van de agent bevatten drie belangrijke gegevens:

  • Status van de toepassing van de laatst geziene gewenste eigenschappen,
  • Status van de modules die momenteel op het apparaat worden uitgevoerd, zoals gerapporteerd door de IoT Edge-agent en
  • Kopie van de gewenste eigenschappen die momenteel op het apparaat worden uitgevoerd.

Met de kopie van de huidige gewenste eigenschappen kunt u bepalen of het apparaat de meest recente implementatie heeft toegepast of nog steeds een eerder implementatiemanifest uitvoert.

Notitie

U kunt query's uitvoeren op de gerapporteerde eigenschappen van de IoT Edge-agent met behulp van de IoT Hub querytaal om de implementatiestatus op schaal te onderzoeken. Zie Onderstand IoT Edge implementaties voor afzonderlijke apparaten of op schaal voor informatie over het gebruik van IoT Edge agenteigenschappen voor status.

De volgende tabel bevat niet de informatie die wordt gekopieerd uit de gewenste eigenschappen.

Eigenschap Beschrijving
lastDesiredStatus.code Statuscode voor de laatst gewenste eigenschappen die door de IoT Edge-agent worden gezien. Toegestane waarden: 200 Geslaagd, 400 Ongeldige configuratie, 412 Ongeldige schemaversie, 417 Gewenste eigenschappen zijn leeg, 500 Mislukt.
lastDesiredStatus.description Tekstbeschrijving van de status.
lastDesiredVersion Dit gehele getal verwijst naar de laatste versie van de gewenste eigenschappen die door de IoT Edge-agent worden verwerkt.
runtime.platform.OS Rapporteert het besturingssysteem dat wordt uitgevoerd op het apparaat.
runtime.platform.architecture Rapporteert de CPU-architectuur op het apparaat.
schemaVersion Schemaversie van gerapporteerde eigenschappen.
systemModules.edgeAgent.runtimeStatus De gerapporteerde status van IoT Edge-agent: { actief | ongezond }.
systemModules.edgeAgent.statusDescription Tekstbeschrijving van de gerapporteerde status van de IoT Edge-agent.
systemModules.edgeAgent.exitCode De afsluitcode die door de IoT Edge agentcontainer wordt gerapporteerd als de container wordt afgesloten.
systemModules.edgeAgent.lastStartTimeUtc Tijdstip waarop IoT Edge agent voor het laatst is gestart.
systemModules.edgeAgent.lastExitTimeUtc Tijdstip waarop IoT Edge agent voor het laatst is afgesloten.
systemModules.edgeHub.runtimeStatus Status van IoT Edge hub: { draaiend | gestopt | gefaald | terugtrekken | ongezond }.
systemModules.edgeHub.statusDescription Tekstbeschrijving van de status van IoT Edge hub, indien niet-gezond.
systemModules.edgeHub.exitCode Afsluitcode die is gerapporteerd door de IoT Edge hubcontainer, als de container wordt afgesloten.
systemModules.edgeHub.lastStartTimeUtc Tijdstip waarop IoT Edge hub voor het laatst is gestart.
systemModules.edgeHub.lastExitTimeUtc Tijd waarop de IoT Edge hub voor het laatst is gestopt.
systemModules.edgeHub.lastRestartTimeUtc Tijdstip waarop IoT Edge hub voor het laatst opnieuw is opgestart.
systemModules.edgeHub.restartCount Aantal keren dat deze module opnieuw is opgestart als onderdeel van het beleid voor opnieuw opstarten.
modules.{moduleId}.runtimeStatus Status van de module: { actief | gestopt | mislukt | backoff | ongezond }.
modules.{moduleId}.statusDescription Tekstbeschrijving van de status van de module, indien beschadigd.
modules.{moduleId}.exitCode De afsluitcode die door de modulecontainer wordt gerapporteerd, als de container wordt afgesloten.
modules.{moduleId}.lastStartTimeUtc Tijdstip waarop de module voor het laatst is gestart.
modules.{moduleId}.lastExitTimeUtc Tijdstip waarop de module voor het laatst is afgesloten.
modules.{moduleId}.lastRestartTimeUtc Tijdstip waarop de module voor het laatst opnieuw is opgestart.
modules.{moduleId}.restartCount Aantal keren dat deze module opnieuw is opgestart als onderdeel van het beleid voor opnieuw opstarten.
version Versie van de afbeelding. Voorbeeld: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

Gewenste eigenschappen van EdgeHub

De moduledubbel voor een IoT Edge hub wordt $edgeHub genoemd. Het coördineert de communicatie tussen de IoT Edge hub die op een apparaat draait en de IoT Hub. Stel de gewenste eigenschappen in wanneer u een implementatiemanifest toepast op een specifiek apparaat als onderdeel van een implementatie met één apparaat of op schaal.

Eigenschap Beschrijving Vereist in het implementatiemanifest
schemaVersion 1.0 ofwel 1.1. Versie 1.1 is geïntroduceerd met IoT Edge versie 1.0.10 en wordt aanbevolen. Ja
routes.{routeName} Een tekenreeks die een IoT Edge hubroute vertegenwoordigt. Zie Routes declareren voor meer informatie. Het routes element kan aanwezig zijn, maar leeg zijn.
storeAndForwardConfiguration.timeToLiveSecs De tijd in seconden die het IoT Edge hub apparaat berichten bewaart als de verbinding met routeringseindpunten verbroken is, ongeacht of het een IoT Hub of een lokale module betreft. Deze tijd blijft bestaan, ongeacht stroomuitval of herstarten. Zie Offline-mogelijkheden voor meer informatie. Ja

Gerapporteerde eigenschappen van EdgeHub

Eigenschap Beschrijving
lastDesiredVersion Dit gehele getal verwijst naar de laatste versie van de gewenste eigenschappen die door de IoT Edge hub worden verwerkt.
lastDesiredStatus.code De statuscode die verwijst naar de laatst gewenste eigenschappen die worden gezien door de IoT Edge hub. Toegestane waarden: 200 Geslaagd, 400 Ongeldige configuratie, 500 Mislukt.
lastDesiredStatus.description Tekstbeschrijving van de status.
clients Alle clients die zijn verbonden met EdgeHub met de status en de laatste verbonden tijd. Voorbeeld: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }.
clients.{device or moduleId}.status De connectiviteitsstatus van dit apparaat of deze module. Mogelijke waarden: verbonden of verbroken. Alleen module-identiteiten kunnen losgekoppeld zijn. Downstreamapparaten die verbinding maken met IoT Edge hub, worden alleen weergegeven wanneer ze zijn verbonden.
clients.{device or moduleId}.lastConnectTime De laatste keer dat het apparaat of de module is verbonden.
clients.{device or moduleId}.lastDisconnectTime De laatste keer dat de verbinding met het apparaat of de module is verbroken.
schemaVersion Schemaversie van gerapporteerde eigenschappen.
version Versie van de afbeelding. Voorbeeld: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

Volgende stappen

Zie Onderstand hoe IoT Edge modules kunnen worden gebruikt, geconfigureerd en hergebruikt voor meer informatie over het gebruik van deze eigenschappen om implementatiemanifesten uit te bouwen.