Dela via


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

Gäller för:Bockmarkering för IoT Edge 1.5 IoT Edge 1.5 Bockmarkering för IoT Edge 1.4 IoT Edge 1.4

Viktigt!

IoT Edge 1.5 LTS och IoT Edge 1.4 LTS stöds. IoT Edge 1.4 LTS upphör den 12 november 2024. Om du har en tidigare version läser du Uppdatera IoT Edge.

IoT Edge-agenten och IoT Edge-hubben är två moduler som utgör IoT Edge-körningen. 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är dig hur du distribuerar moduler och etablerar vägar i IoT Edge.

En modultvilling innehåller:

  • Önskade egenskaper. Lösningsserverdelen kan ange önskade egenskaper och modulen kan läsa dem. Modulen kan också ta emot meddelanden om ändringar i önskade egenskaper. Önskade egenskaper används tillsammans med rapporterade egenskaper för att synkronisera modulkonfiguration eller villkor.

  • Rapporterade egenskaper. Modulen kan ange rapporterade egenskaper och lösningsserverdelen kan läsa och köra frågor mot dem. Rapporterade egenskaper används tillsammans med önskade egenskaper för att synkronisera modulkonfiguration eller villkor.

Önskade egenskaper för EdgeAgent

Modultvillingen för IoT Edge-agenten anropas $edgeAgent och samordnar kommunikationen mellan IoT Edge-agenten som körs på en enhet och IoT Hub. De önskade egenskaperna anges 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.

Property Beskrivning Obligatoriskt
imagePullPolicy När du ska hämta avbildningen i Antingen OnCreate eller Never (Aldrig kan användas om bilden redan finns på enheten) Ja
restartPolicy När modulen ska startas om. Möjliga värden är: Starta aldrig om modulen om den inte körs, Alltid: starta alltid om modulen om den inte körs, vid fel: starta om modulen om den inte är felfri. Fel är vad Docker rapporterar baserat på en hälsokontroll, till exempel "Inte felfri – containern fungerar inte som den ska", På misslyckades: starta om om den misslyckades. Ja
runtime.type Måste vara docker. Ja
runtime.settings.minDockerVersion Ange till den lägsta Docker-version som krävs av det här distributionsmanifestet. Ja
runtime.settings.loggingOptions En strängbaserad JSON som innehåller loggningsalternativen för IoT Edge-agentcontainern. Loggningsalternativ för Docker Nej
runtime.settings.registryCredentials. {registryId}.username Användarnamnet för containerregistret. För Azure Container Registry är användarnamnet vanligtvis registernamnet. Registerautentiseringsuppgifter krävs för avbildningar av privata moduler. 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 {registernamn}.azurecr.io. Nej
schemaVersion Antingen 1.0 eller 1.1. Version 1.1 introducerades med IoT Edge version 1.0.10 och rekommenderas. Ja
status Önskad status för modulen: Körs eller stoppas. Obligatoriskt
systemModules.edgeAgent.type Måste vara docker. Ja
systemModules.edgeAgent.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 ett värde inte anges är standardvärdet maximalt heltal. Nej
systemModules.edgeAgent.settings.image URI:n för avbildningen av IoT Edge-agenten. För närvarande kan inte IoT Edge-agenten uppdatera sig själv. Ja
systemModules.edgeAgent.settings.createOptions En strängbaserad JSON som innehåller alternativen för att skapa IoT Edge-agentcontainern. Alternativ för Docker-skapande Nej
systemModules.edgeAgent.configuration.id ID för distributionen som distribuerade den här modulen. IoT Hub anger den här egenskapen när manifestet tillämpas 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 ett värde inte anges är standardvärdet maximalt heltal. Nej
systemModules.edgeHub.settings.image URI:n för avbildningen av IoT Edge-hubben. Ja
systemModules.edgeHub.settings.createOptions En strängbaserad JSON som innehåller alternativen för att skapa IoT Edge-hubbcontainern. Alternativ för Docker-skapande Nej
systemModules.edgeHub.configuration.id ID för distributionen som distribuerade den här modulen. IoT Hub anger den här egenskapen när manifestet tillämpas 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örningen | har stoppats} Ja
Modules. {moduleId}.restartPolicy {aldrig | 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 ett värde inte anges är standardvärdet maximalt heltal. Nej
Modules. {moduleId}.imagePullPolicy {on-create | never} Nej
Modules. {moduleId}.env En lista över miljövariabler som ska skickas till modulen. Tar 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. Alternativ för Docker-skapande Nej
Modules. {moduleId}.configuration.id ID för distributionen som distribuerade den här modulen. IoT Hub anger den här egenskapen när manifestet tillämpas med hjälp av en distribution. Inte en del av ett distributionsmanifest.
version Den aktuella iterationen som har version, incheckning och bygge. Nej

Rapporterade egenskaper för EdgeAgent

IoT Edge-agentens rapporterade egenskaper innehåller tre huvudsakliga informationsdelar:

  1. Status för programmet för de senast sedda önskade egenskaperna.
  2. Status för de moduler som för närvarande körs på enheten, enligt rapporter från IoT Edge-agenten. Och
  3. En kopia av de önskade egenskaper som för närvarande körs på enheten.

Kopian av de aktuella önskade egenskaperna är användbar för att avgöra om enheten har tillämpat den senaste distributionen eller fortfarande kör ett tidigare distributionsmanifest.

Kommentar

De rapporterade egenskaperna för IoT Edge-agenten är användbara eftersom de kan efterfrågas med frågespråket IoT Hub för att undersöka statusen för distributioner i stor skala. Mer information om hur du använder IoT Edge-agentegenskaperna för status finns i Förstå 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.

Property beskrivning
lastDesiredStatus.code Den här statuskoden refererar till 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 Rapportera cpu-arkitekturen på enheten.
schemaVersion Schemaversion av rapporterade egenskaper.
systemModules.edgeAgent.runtimeStatus Den rapporterade statusen för IoT Edge-agenten: {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-agenten senast startades.
systemModules.edgeAgent.lastExitTimeUtc Tid då IoT Edge-agenten senast avslutades.
systemModules.edgeHub.runtimeStatus Status för IoT Edge-hubben: { säkerhetskopieringen | som stoppades | | misslyckades | inte }.
systemModules.edgeHub.statusDescription Textbeskrivning av status för IoT Edge-hubben, om den inte är felfri.
systemModules.edgeHub.exitCode Slutkod som rapporteras av IoT Edge-hubbens container, om containern avslutas.
systemModules.edgeHub.lastStartTimeUtc Tidpunkt då IoT Edge-hubben senast startades.
systemModules.edgeHub.lastExitTimeUtc Tidpunkt 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: { säkerhetskopieringen | | misslyckades | | inte }.
Modules. {moduleId}.statusDescription Textbeskrivning av status för modulen, om den inte är felfri.
Modules. {moduleId}.exitCode Slutkoden som rapporterats av modulcontainern, om containern avslutas.
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 avbildningen. Exempel: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

Önskade egenskaper för EdgeHub

Modultvillingen för IoT Edge-hubben anropas $edgeHub och samordnar kommunikationen mellan IoT Edge-hubben som körs på en enhet och IoT Hub. De önskade egenskaperna anges 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.

Property 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
Vägar. {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 om den är frånkopplad från routningsslutpunkter, oavsett om det är IoT Hub eller en lokal modul. Den här gången behålls över eventuella avstängningar eller omstarter. Mer information finns i Offlinefunktioner. Ja

EdgeHub-rapporterade egenskaper

Property beskrivning
lastDesiredVersion Det här heltalet refererar till den senaste versionen av önskade egenskaper som bearbetas av IoT Edge-hubben.
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.
Klienter Alla klienter som är anslutna till edgeHub med status och senaste anslutna tid. Exempel: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Anslut ed", "last Anslut edTimeUtc": "2022-11-17T21:49:16.4781564Z" } }.
Klienter. {device or moduleId}.status Anslutningsstatus för den här enheten eller modulen. Möjliga värden {ansluten | frånkopplad}. Endast modulidentiteter kan vara i frånkopplat tillstånd. Underordnade enheter som ansluter till IoT Edge-hubben visas endast när de är anslutna.
Klienter. {device or moduleId}.last Anslut Time Senaste gången enheten eller modulen anslöts.
Klienter. {device or moduleId}.lastDisconnectTime Senaste gången enheten eller modulen kopplades från.
schemaVersion Schemaversion av rapporterade egenskaper.
version Version av avbildningen. 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.