Egenskaper för IoT Edge-agenten och IoT Edge-hubbmodultvillingar
Gäller för: IoT Edge 1.5 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:
- Status för programmet för 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
- 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": "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.