Eigenschappen van de IoT Edge-agent en ioT Edge-hubmoduledubbels

Van toepassing op:IoT Edge 1.4 checkmark IoT Edge 1.4

Belangrijk

IoT Edge 1.4 is de ondersteunde release. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.

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

Dit artikel bevat de gewenste eigenschappen en gerapporteerde eigenschappen van de runtimemoduledubbels. Zie Meer informatie over het implementeren van modules op IoT Edge-apparaten in Meer informatie over het implementeren van modules en het tot stand brengen van routes in IoT Edge.

Een moduledubbel bevat:

  • Gewenste eigenschappen. De back-end van de oplossing kan gewenste eigenschappen instellen en de module kan deze lezen. De module kan ook meldingen ontvangen van wijzigingen in de gewenste eigenschappen. Gewenste eigenschappen worden samen met gerapporteerde eigenschappen gebruikt om de configuratie of voorwaarden van de module te synchroniseren.

  • Gerapporteerde eigenschappen. De module kan gerapporteerde eigenschappen instellen en de back-end van de oplossing kan deze lezen en er query's op uitvoeren. Gerapporteerde eigenschappen worden samen met de gewenste eigenschappen gebruikt om de configuratie of voorwaarden van de module te synchroniseren.

Gewenste eigenschappen van EdgeAgent

De moduledubbel voor de IoT Edge-agent wordt aangeroepen $edgeAgent en coördineert de communicatie tussen de IoT Edge-agent die wordt uitgevoerd op een apparaat en IoT Hub. De gewenste eigenschappen worden ingesteld bij het toepassen van een implementatiemanifest op een specifiek apparaat als onderdeel van een implementatie met één apparaat of op schaal.

Eigenschappen Beschrijving Vereist
imagePullPolicy Wanneer moet u de afbeelding ophalen in OnCreate of Nooit (kan nooit worden gebruikt als de afbeelding zich al op het apparaat bevindt) Ja
restartPolicy Wanneer de module opnieuw moet worden gestart. Mogelijke waarden zijn: Nooit: start de module niet opnieuw als deze niet wordt uitgevoerd, Altijd: start de module altijd opnieuw als deze niet wordt uitgevoerd, On-Unhealthy: herstartmodule als deze niet in orde is. Niet in orde is wat Docker rapporteert op basis van een statuscontrole, bijvoorbeeld 'Niet in orde - de container werkt niet goed', On-Failed: opnieuw opstarten als mislukt. Ja
runtime.type Moet docker zijn. Ja
runtime.settings.minDockerVersion Ingesteld op de minimale Docker-versie die is vereist voor dit implementatiemanifest. Ja
runtime.settings.loggingOptions Een tekenreeks-JSON met de logboekopties voor de IoT Edge-agentcontainer. Opties voor Docker-logboekregistratie Nee
runtime.settings.registryCredentials. {registryId}.username De gebruikersnaam van het containerregister. Voor Azure Container Registry is de gebruikersnaam meestal de registernaam. Registerreferenties zijn nodig voor installatiekopieën 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 {registernaam}.azurecr.io. Nee
schemaVersion 1.0 of 1.1. Versie 1.1 is geïntroduceerd met IoT Edge versie 1.0.10 en wordt aanbevolen. Ja
status Gewenste status van de module: Actief of Gestopt. Vereist
systemModules.edgeAgent.type Moet docker zijn. Ja
systemModules.edgeAgent.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 er geen waarde wordt opgegeven, is de standaardwaarde het maximum gehele getal. Nee
systemModules.edgeAgent.settings.image De URI van de afbeelding van de IoT Edge-agent. Momenteel kan de IoT Edge-agent zichzelf niet bijwerken. Ja
systemModules.edgeAgent.settings.createOptions Een tekenreeks-JSON met de opties voor het maken van de IoT Edge-agentcontainer. Opties voor Docker-maken Nee
systemModules.edgeAgent.configuration.id De id van de implementatie die deze module heeft geïmplementeerd. Met IoT Hub wordt deze eigenschap ingesteld wanneer het manifest wordt toegepast met behulp van een implementatie. Geen deel uit van een implementatiemanifest.
systemModules.edgeHub.type Moet docker zijn. Ja
systemModules.edgeHub.status Moet lopen. Ja
systemModules.edgeHub.restartPolicy Moet altijd zijn. Ja
systemModules.edgeHub.startupOrder Een geheel getal waarvoor een module in de opstartvolgorde staat. Een 0 is het eerste getal en het maximum aantal gehele getallen (4294967295) is de laatste. Als er geen waarde wordt opgegeven, 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 tekenreeks-JSON met de opties voor het maken van de IoT Edge-hubcontainer. Opties voor Docker-maken Nee
systemModules.edgeHub.configuration.id De id van de implementatie die deze module heeft geïmplementeerd. Met IoT Hub wordt deze eigenschap ingesteld wanneer het manifest wordt toegepast 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 {wordt | gestopt} Ja
Modules. {moduleId}.restartPolicy {nooit | 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 er geen waarde wordt opgegeven, is de standaardwaarde het maximum gehele getal. Nee
Modules. {moduleId}.imagePullPolicy {on-create | never} Nee
Modules. {moduleId}.env Een lijst met omgevingsvariabelen die aan de module moeten worden doorgegeven. Neemt de notatie "<name>": {"value": "<value>"}. Nee
Modules. {moduleId}.settings.image De URI naar de module-installatiekopieën. 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. Met IoT Hub wordt deze eigenschap ingesteld wanneer het manifest wordt toegepast met behulp van een implementatie. Geen deel uit van een implementatiemanifest.
version De huidige iteratie met versie, doorvoer en build. Nee

Gerapporteerde eigenschappen van EdgeAgent

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

  1. De status van de toepassing van de laatst geziene gewenste eigenschappen;
  2. De status van de modules die momenteel op het apparaat worden uitgevoerd, zoals gerapporteerd door de IoT Edge-agent; En
  3. Een kopie van de gewenste eigenschappen die momenteel op het apparaat worden uitgevoerd.

De kopie van de huidige gewenste eigenschappen is handig om te zien of het apparaat de meest recente implementatie heeft toegepast of nog steeds een eerder implementatiemanifest uitvoert.

Notitie

De gerapporteerde eigenschappen van de IoT Edge-agent zijn handig omdat ze kunnen worden opgevraagd met de Querytaal van IoT Hub om de status van implementaties op schaal te onderzoeken. Zie IoT Edge-implementaties voor afzonderlijke apparaten of op schaal voor meer informatie over het gebruik van de eigenschappen van de IoT Edge-agent voor status.

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

Eigenschappen Beschrijving
lastDesiredStatus.code Deze statuscode verwijst naar 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 op het apparaat wordt uitgevoerd.
runtime.platform.architecture De architectuur van de CPU op het apparaat rapporteren.
schemaVersion Schemaversie van gerapporteerde eigenschappen.
systemModules.edgeAgent.runtimeStatus De gerapporteerde status van de IoT Edge-agent: {wordt | beschadigd}.
systemModules.edgeAgent.statusDescription Tekstbeschrijving van de gerapporteerde status van de IoT Edge-agent.
systemModules.edgeAgent.exitCode De afsluitcode die wordt gerapporteerd door de IoT Edge-agentcontainer als de container wordt afgesloten.
systemModules.edgeAgent.lastStartTimeUtc Tijdstip waarop de IoT Edge-agent voor het laatst is gestart.
systemModules.edgeAgent.lastExitTimeUtc Tijdstip waarop de IoT Edge-agent voor het laatst is afgesloten.
systemModules.edgeHub.runtimeStatus Status van IoT Edge-hub: { uitvoeren | van mislukte | | back-off | is niet in orde }.
systemModules.edgeHub.statusDescription Tekstbeschrijving van de status van de IoT Edge-hub, als deze niet in orde is.
systemModules.edgeHub.exitCode Afsluitcode die is gerapporteerd door de IoT Edge-hubcontainer als de container wordt afgesloten.
systemModules.edgeHub.lastStartTimeUtc Tijdstip waarop de IoT Edge-hub voor het laatst is gestart.
systemModules.edgeHub.lastExitTimeUtc Tijdstip waarop de IoT Edge-hub voor het laatst is afgesloten.
systemModules.edgeHub.lastRestartTimeUtc Tijdstip waarop de 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: { uitvoeren | van mislukte | | back-off | is niet in orde }.
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 installatiekopieën. Voorbeeld: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

Gewenste eigenschappen van EdgeHub

De moduledubbel voor de IoT Edge-hub wordt aangeroepen $edgeHub en coördineert de communicatie tussen de IoT Edge-hub die wordt uitgevoerd op een apparaat en IoT Hub. De gewenste eigenschappen worden ingesteld bij het toepassen van een implementatiemanifest op een specifiek apparaat als onderdeel van een implementatie met één apparaat of op schaal.

Eigenschappen Beschrijving Vereist in het implementatiemanifest
schemaVersion 1.0 of 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 van het apparaat in seconden dat de IoT Edge-hub berichten bewaart als de verbinding met routeringseindpunten is verbroken, ongeacht of IoT Hub of een lokale module. Deze keer blijft de stroom uitgeschakeld of opnieuw worden opgestart. Zie Offline-mogelijkheden voor meer informatie. Ja

Gerapporteerde eigenschappen van EdgeHub

Eigenschappen 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": "Verbinding maken ed", "last Verbinding maken edTimeUtc": "2022-11-17T21:49:16.4781564Z" } }.
Clients. {device or moduleId}.status De connectiviteitsstatus van dit apparaat of deze module. Mogelijke waarden {verbinding verbroken | }. Alleen module-id's kunnen de status Losgekoppeld hebben. Downstreamapparaten die verbinding maken met de IoT Edge-hub, worden alleen weergegeven wanneer ze zijn verbonden.
Clients. {device or moduleId}.last Verbinding maken Time De laatste keer dat het apparaat of de module is verbonden.
Clients. {device of 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 installatiekopieën. Voorbeeld: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

Volgende stappen

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