Eigenschappen van de IoT Edge-agent en ioT Edge-hubmoduledubbels
Van toepassing op: IoT Edge 1.5 IoT Edge 1.4
Belangrijk
IoT Edge 1.5 LTS en IoT Edge 1.4 LTS worden ondersteund releases. IoT Edge 1.4 LTS eindigt op 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 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:
- De status van de toepassing van de laatst geziene gewenste eigenschappen;
- De status van de modules die momenteel op het apparaat worden uitgevoerd, zoals gerapporteerd door de IoT Edge-agent; en
- 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. |
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. |
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.