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

Viktigt!

IoT Edge 1.5 LTS är den version som stöds. IoT Edge 1.4 LTS upphör från och med 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ösningens serverdel anger önskade egenskaper och modulen läser dem. Modulen tar också 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 anger rapporterade egenskaper och lösningens serverdel läser och frågar 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 kallas $edgeAgent. Den 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.

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: 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. Ohälsosam är vad Docker rapporterar baserat på en hälsokontroll, till exempel "Ohälsosam - containern fungerar inte som den ska", Vid misslyckande: starta om om den misslyckades. 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
körning.inställningar.loggningsalternativ 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 {registernamn}.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
tillstånd Ö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 inget värde anges är standardvärdet max heltal. Nej
systemModules.edgeAgent.inställningar.image Anger URI:n för IoT Edge-agentbilden. IoT Edge-agenten kan inte uppdatera sig själv. Ja
systemModules.edgeAgent.inställningar.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 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 {vid skapande | aldrig} 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:

  • 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 rapporter från IoT Edge-agenten 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 har tillämpat den senaste distributionen eller fortfarande kör ett tidigare distributionsmanifest.

Kommentar

Du kan fråga IoT Edge-agentens rapporterade egenskaper med IoT Hub-frågespråket för att undersöka distributionsstatus i stor skala. Lär dig hur du använder IoT Edge-agentegenskaper för status 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.

Fastighet Beskrivning
senasteÖnskadeStatus.kod 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.
senaste önskade version 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-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.senasteAvslutningstidpunktUtc Tid då IoT Edge-agenten senast avslutades.
systemModules.edgeHub.runtimeStatus Status för IoT Edge-hubben: { | }.
systemModules.edgeHub.statusBeskrivning 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.senasteStarttidUtc Tidpunkt då IoT Edge-hubben senast startades.
systemModules.edgeHub.lastExitTimeUtc Tidpunkt då IoT Edge-hubben senast avslutades.
systemModules.edgeHub.senasteOmstartstidUtc 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 | | 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.

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
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

Fastighet Beskrivning
senaste önskade version Det här heltalet refererar till den senaste versionen av önskade egenskaper som bearbetas av IoT Edge-hubben.
senasteÖnskadeStatus.kod 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": "Connected", "lastConnectedTimeUtc": "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}.lastConnectTime 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.