Egenskaper för IoT Edge-agenten och IoT Edge hubbmodultvillingar

Applies to:IoT Edge 1.5 kryssmarkering IoT Edge 1.5

Viktigt!

IoT Edge 1.5 LTS är den version som stöds. IoT Edge 1.4 LTS upphörde den 12 november 2024. Om du använder en tidigare version läser du Update IoT Edge.

IoT Edge-agenten och IoT Edge hub är två moduler som utgör IoT Edge körmiljö. Mer information om ansvarsområden för varje körningsmodul finns i förstå Azure IoT Edge-körningen och dess arkitektur.

Den här artikeln innehåller önskade egenskaper och rapporterade egenskaper för runtime-modultvillingarna. Mer information om hur du distribuerar moduler på IoT Edge enheter finns i läsa hur du distribuerar moduler och upprättar vägar i IoT Edge.

En modultvilling innehåller:

  • Önskade egenskaper. Lösningens serverdel anger önskade egenskaper och modulen läser dem. Modulen tar också emot meddelanden om ändringar i önskade egenskaper. Använd önskade egenskaper tillsammans med rapporterade egenskaper för att synkronisera modulkonfiguration eller villkor.

  • Rapporterade egenskaper. Modulen anger rapporterade egenskaper och lösningens serverdel läser och frågar dem. Använd rapporterade egenskaper tillsammans med önskade egenskaper för att synkronisera modulkonfiguration eller villkor.

Önskade egenskaper för EdgeAgent

Modultvillingen för IoT Edge-agenten kallas $edgeAgent. Den samordnar kommunikationen mellan den IoT Edge agent som körs på en enhet och IoT Hub. Ange önskade egenskaper när du tillämpar ett distributionsmanifest på en specifik enhet som en del av en distribution med en enda enhet eller i stor skala.

Fastighet Beskrivning Obligatoriskt
imagePullPolicy Anger när avbildningen ska hämtas: PåSkapa eller Aldrig. Använd Aldrig om avbildningen redan finns på enheten. Ja
restartPolicy När modulen ska startas om. Möjliga värden är: aldrig: starta inte om modulen om den inte körs, vid fel: starta om modulen om den avslutas med en slutkod som inte är noll, vid ohälsa: starta om modulen om den inte är felfri (se anmärkning), alltid: starta alltid om modulen om den inte körs. Observera: Policyn on-failure startar om moduler som avslutas med en felkod som inte är noll. Policyn on-unhealthy godkänns av schemat, men körningstiden härleder för närvarande inte ohälsosam status från Docker hälsokontroller, så den har ingen praktisk effekt. För mer information, se begränsningar och restriktioner för IoT Edge. Ja
runtime.type Måste vara docker. Ja
runtime.settings.minDockerVersion Anger den lägsta Docker-version som krävs av det här distributionsmanifestet. Ja
runtime.settings.loggingOptions Anger en strängifierad JSON med loggningsalternativen för IoT Edge-agentcontainern. Läs mer om loggningsalternativ för Docker. Nej
runtime.settings.registryCredentials.{registryId}.username Anger användarnamnet för containerregistret. För Azure Container Registry är användarnamnet vanligtvis registernamnet. Inloggningsuppgifter krävs för privata modulbilder. Nej
runtime.settings.registryCredentials.{registryId}.password Lösenordet för containerregistret. Nej
runtime.settings.registryCredentials.{registryId}.address Adressen till containerregistret. För Azure Container Registry är adressen vanligtvis {registry name}.azurecr.io. Nej
schemaVersion Anger antingen 1.0 eller 1.1. Version 1.1, som introducerades med IoT Edge version 1.0.10, rekommenderas. Ja
status Önskad status för modulen: Körs eller stoppas. Obligatoriskt
systemModules.edgeAgent.type Måste vara docker. Ja
systemModules.edgeAgent.startupOrder Anger ett heltal för modulens position i startordningen. 0 är först och max heltal (4294967295) är sist. Om du inte anger något värde är standardvärdet max heltal. Nej
systemModules.edgeAgent.settings.image Anger URI för IoT Edge-agentavbild. IoT Edge agenten kan inte uppdatera sig själv. Ja
systemModules.edgeAgent.settings.createOptions Anger en strängifierad JSON med alternativ för att skapa IoT Edge-agentcontainern. Läs mer om alternativ för att skapa Docker. Nej
systemModules.edgeAgent.configuration.id ID för distributionen som distribuerade den här modulen. IoT Hub anger den här egenskapen när du använder manifestet med hjälp av en distribution. Inte en del av ett distributionsmanifest.
systemModules.edgeHub.type Måste vara docker. Ja
systemModules.edgeHub.status Måste köras. Ja
systemModules.edgeHub.restartPolicy Måste alltid vara det. Ja
systemModules.edgeHub.startupOrder Ett heltalsvärde för vilken punkt en modul har i startordningen. 0 är först och max heltal (4294967295) är sist. Om du inte anger något värde är standardvärdet max heltal. Nej
systemModules.edgeHub.settings.image URI:n för bilden av IoT Edge hubben. Ja
systemModules.edgeHub.settings.createOptions En strängbaserad JSON som innehåller alternativen för att skapa IoT Edge hubbcontainern. Docker skapa alternativ Nej
systemModules.edgeHub.configuration.id ID för distributionen som distribuerade den här modulen. IoT Hub anger den här egenskapen när du använder manifestet med hjälp av en distribution. Inte en del av ett distributionsmanifest.
modules.{moduleId}.version En användardefinierad sträng som representerar versionen av den här modulen. Ja
modules.{moduleId}.type Måste vara docker. Ja
modules.{moduleId}.status Kör | Stoppat Ja
modules.{moduleId}.restartPolicy Aldrig | vid-fel | vid-ohälsosamt | Alltid Ja
modules.{moduleId}.startupOrder Ett heltalsvärde för den plats som en modul har i startordningen. 0 är först och max heltal (4294967295) är sist. Om du inte anger något värde är standardvärdet max heltal. Nej
modules.{moduleId}.imagePullPolicy on-create | aldrig Nej
modules.{moduleId}.env En lista över miljövariabler som ska skickas till modulen. Antar formatet "<name>": {"value": "<value>"}. Nej
modules.{moduleId}.settings.image URI:n till modulbilden. Ja
modules.{moduleId}.settings.createOptions En strängbaserad JSON som innehåller alternativen för att skapa modulcontainern. Docker skapa alternativ Nej
modules.{moduleId}.configuration.id ID för distributionen som distribuerade den här modulen. IoT Hub anger den här egenskapen när du använder manifestet med hjälp av en distribution. Inte en del av ett distributionsmanifest.
version Den aktuella iterationen som har version, kodändring och kompilering. Nej

Rapporterade egenskaper för EdgeAgent

IoT Edge agentrapporterade egenskaper innehåller tre huvudsakliga informationsdelar:

  • Status för tillämpningen av de senast sedda önskade egenskaperna,
  • Status för de moduler som för närvarande körs på enheten enligt IoT Edge-agentens rapporter och
  • Kopia av de önskade egenskaperna som för närvarande körs på enheten.

Kopian av de aktuella önskade egenskaperna hjälper dig att avgöra om enheten använde den senaste distributionen eller fortfarande kör ett tidigare distributionsmanifest.

Anmärkning

Du kan fråga IoT Edge agentrapporterade egenskaper med hjälp av frågespråket IoT Hub för att undersöka distributionsstatus i stor skala. Information om hur du använder IoT Edge agentegenskaper för status finns i Understand IoT Edge distributioner för enskilda enheter eller i stor skala.

Följande tabell innehåller inte den information som kopieras från de önskade egenskaperna.

Fastighet Beskrivning
lastDesiredStatus.code Statuskod för de senaste önskade egenskaperna som visas av IoT Edge-agenten. Tillåtna värden: 200 Lyckades, 400 Ogiltig konfiguration, 412 Ogiltig schemaversion, 417 Önskade egenskaper är tomma, 500 Misslyckades.
lastDesiredStatus.description Textbeskrivning av statusen.
lastDesiredVersion Det här heltalet refererar till den senaste versionen av önskade egenskaper som bearbetas av IoT Edge-agenten.
runtime.platform.OS Rapporterar operativsystemet som körs på enheten.
runtime.platform.architecture Rapporterar CPU-arkitekturen på enheten.
schemaVersion Schemaversion av rapporterade egenskaper.
systemModules.edgeAgent.runtimeStatus Den rapporterade statusen för IoT Edge agent: { running | unhealthy }.
systemModules.edgeAgent.statusDescription Textbeskrivning av den rapporterade statusen för IoT Edge-agenten.
systemModules.edgeAgent.exitCode Slutkoden som rapporteras av IoT Edge-agentcontainern om containern avslutas.
systemModules.edgeAgent.lastStartTimeUtc Tid då IoT Edge agent senast startades.
systemModules.edgeAgent.lastExitTimeUtc Tid då IoT Edge-agenten senast avslutades.
systemModules.edgeHub.runtimeStatus Status för IoT Edge hubb: { kör | stoppad | misslyckades | backoff | ohälsosam }.
systemModules.edgeHub.statusDescription Statusbeskrivning för IoT Edge hubb, om den är ohälsosam.
systemModules.edgeHub.exitCode Slutkod som rapporteras av IoT Edge hubbcontainern, om containern avslutas.
systemModules.edgeHub.lastStartTimeUtc Tid då IoT Edge hubb senast startades.
systemModules.edgeHub.lastExitTimeUtc Tid då IoT Edge hubben senast avslutades.
systemModules.edgeHub.lastRestartTimeUtc Tid då IoT Edge hubben senast startades om.
systemModules.edgeHub.restartCount Antal gånger som den här modulen startades om som en del av omstartsprincipen.
modules.{moduleId}.runtimeStatus Status för modulen: { kör | stoppad | misslyckades | bakåtspolning | ohälsosam }.
modules.{moduleId}.statusDescription Textbeskrivning av status för modulen, om den inte är felfri.
modules.{moduleId}.exitCode Slutkoden som rapporteras av container för modul, om containern stängs av.
modules.{moduleId}.lastStartTimeUtc Tid då modulen senast startades.
modules.{moduleId}.lastExitTimeUtc Tid då modulen senast avslutades.
modules.{moduleId}.lastRestartTimeUtc Tid då modulen senast startades om.
modules.{moduleId}.restartCount Antal gånger som den här modulen startades om som en del av omstartsprincipen.
version Version av bilden. Till exempel: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

Önskade egenskaper för EdgeHub

Modultvillingen för en IoT Edge hubb kallas $edgeHub. Den samordnar kommunikationen mellan den IoT Edge hubb som körs på en enhet och IoT Hub. Ange önskade egenskaper när du tillämpar ett distributionsmanifest på en specifik enhet som en del av en distribution med en enda enhet eller i stor skala.

Fastighet Beskrivning Krävs i distributionsmanifestet
schemaVersion Antingen 1.0 eller 1.1. Version 1.1 introducerades med IoT Edge version 1.0.10 och rekommenderas. Ja
routes.{routeName} En sträng som representerar en IoT Edge hubbväg. Mer information finns i Deklarera vägar. Elementet routes kan vara närvarande men tomt.
storeAndForwardConfiguration.timeToLiveSecs Enhetens tid i sekunder som IoT Edge-hubben behåller meddelanden när den är frånkopplad från routningsslutpunkter, vare sig det gäller en IoT Hub eller en lokal modul. Den här tidsinställningen kommer att bevaras vid eventuella avstängningar eller omstarter. Mer information finns i Offlinefunktioner. Ja

EdgeHub-rapporterade egenskaper

Fastighet Beskrivning
lastDesiredVersion Det här heltalet avser den senaste versionen av önskade egenskaper som bearbetas av IoT Edge Hub.
lastDesiredStatus.code Statuskoden som refererar till de senaste önskade egenskaperna som visas av IoT Edge hubben. Tillåtna värden: 200 Lyckades, 400 Ogiltig konfiguration, 500 Misslyckades.
lastDesiredStatus.description Textbeskrivning av statusen.
clients Alla klienter som är anslutna till edgeHub med status och senaste anslutna tid. Exempel: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }.
clients.{device or moduleId}.status Anslutningsstatus för den här enheten eller modulen. Möjliga värden: anslutna eller frånkopplade. Endast modulidentiteter kan vara i frånkopplat tillstånd. Underordnade enheter som ansluter till IoT Edge hubb visas endast när de är anslutna.
clients.{device or moduleId}.lastConnectTime Senaste gången enheten eller modulen anslöts.
clients.{device or moduleId}.lastDisconnectTime Senaste gången enheten eller modulen kopplades bort.
schemaVersion Schemaversion av rapporterade egenskaper.
version Version av bilden. Till exempel: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

Nästa steg

Information om hur du använder dessa egenskaper för att skapa distributionsmanifest finns i Förstå hur IoT Edge moduler kan användas, konfigureras och återanvändas.