Delen via


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

Van toepassing op:IoT Edge 1.5-vinkje IoT Edge 1.5

Belangrijk

IoT Edge 1.5 LTS is de ondersteunde release. IoT Edge 1.4 LTS is het einde van de levensduur vanaf 12 november 2024. 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 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 voor meer informatie over het implementeren van modules op IoT Edge-apparaten hoe u modules implementeert en routes in IoT Edge tot stand brengt.

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. Gewenste eigenschappen worden samen met gerapporteerde eigenschappen gebruikt 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. Gerapporteerde eigenschappen worden samen met de gewenste eigenschappen gebruikt om de configuratie of voorwaarden van de module te synchroniseren.

Gewenste eigenschappen van EdgeAgent

De module-tweeling voor de IoT Edge-agent wordt genoemd $edgeAgent. Hiermee wordt de communicatie gecoördineerd 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 Hiermee geeft u op wanneer de afbeelding moet worden opgehaald: OnCreate or Never. Gebruik Nooit wanneer de afbeelding al op het apparaat staat. Ja
herstartbeleid 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 correct', on-failed: opnieuw opstarten als mislukt. 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.logboekopties 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 {registernaam}.azurecr.io. Nee
Version van het schema Hiermee geeft u 1.0 of 1.1. Versie 1.1, geïntroduceerd met IoT Edge versie 1.0.10, wordt aanbevolen. Ja
stand van zaken 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 er geen waarde is opgegeven, is de standaardwaarde het maximale gehele getal. Nee
systemModules.edgeAgent.settings.image Geeft de URI van de 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. 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 | nooit} 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.
Versie De huidige iteratie met versie, doorvoer en build. Nee

Gerapporteerde eigenschappen van EdgeAgent

Gerapporteerde eigenschappen van ioT Edge-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 gerapporteerde eigenschappen van de IoT Edge-agent met de IoT Hub-querytaal om de implementatiestatus op schaal te onderzoeken. Leer hoe u de IoT Edge-agenteigenschappen gebruikt voor de status in IoT Edge-implementaties voor afzonderlijke apparaten of op schaal.

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

Eigenschappen Beschrijving
lastDesiredStatus.code Statuscode voor de laatst gewenste eigenschappen die worden gezien door de IoT Edge-agent. Toegestane waarden: 200 Geslaagd, 400 Ongeldige configuratie, 412 Ongeldige schemaversie, 417 Gewenste eigenschappen zijn leeg, 500 Mislukt.
laatsteGewensteStatus.beschrijving Tekstbeschrijving van de status.
laatsteGewensteVersie 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.
Version van het schema Schemaversie van gerapporteerde eigenschappen.
systemModules.edgeAgent.runtimeStatus De gerapporteerde status van de IoT Edge-agent: {wordt | beschadigd}.
systeemModules.edgeAgent.statusBeschrijving 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.laatsteVerlatingsTijdUtc Tijdstip waarop de IoT Edge-agent voor het laatst is afgesloten.
systemModules.edgeHub.runtimeStatus Status van IoT Edge-hub: { uitvoeren | van mislukte | | is niet in orde }.
systeemModules.edgeHub.statusOmschrijving 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.
systeemModules.edgeHub.laatsteHerstartTijdUtc 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 | 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.
Versie 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
Version van het schema 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
laatsteGewensteVersie 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
laatsteGewensteStatus.beschrijving Tekstbeschrijving van de status.
cliënten 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" } }.
cliënten. {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.
cliënten. {device of moduleId}.lastConnectTime De laatste keer dat het apparaat of de module is verbonden.
cliënten. {device of moduleId}.lastDisconnectTime De laatste keer dat de verbinding met het apparaat of de module is verbroken.
Version van het schema Schemaversie van gerapporteerde eigenschappen.
Versie 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.