Freigeben über


Eigenschaften der Modulzwillinge von IoT Edge-Agent und IoT Edge-Hub

Gilt für:Häkchen für IoT Edge 1.5 IoT Edge 1.5

Wichtig

IoT Edge 1.5 LTS ist das unterstützte Release. IoT Edge 1.4 LTS wurde am 12. November 2024 eingestellt. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.

Der IoT Edge-Agent und der IoT Edge-Hub sind die beiden Module, aus denen sich die IoT Edge-Runtime zusammensetzt. Weitere Informationen zu den Verantwortlichkeiten jedes Laufzeitmoduls finden Sie unter Azure IoT Edge Runtime und deren Architektur.

Dieser Artikel enthält die gewünschten Eigenschaften und gemeldeten Eigenschaften der Laufzeitmodulzwillinge. Weitere Informationen zum Bereitstellen von Modulen auf IoT Edge-Geräten finden Sie unter "Bereitstellen von Modulen und Einrichten von Routen in IoT Edge".

Ein Modulzwilling enthält:

  • Gewünschte Eigenschaften Das Lösungs-Back-End legt die gewünschten Eigenschaften fest, und das Modul liest sie vor. Das Modul erhält auch Benachrichtigungen über Änderungen an den gewünschten Eigenschaften. Gewünschte Eigenschaften werden in Verbindung mit gemeldeten Eigenschaften zum Synchronisieren von Modulkonfigurationen oder -zuständen verwendet.

  • Gemeldete Eigenschaften Das Modul legt gemeldete Eigenschaften fest, und das Lösungs-Back-End liest und fragt sie ab. Gemeldete Eigenschaften werden in Verbindung mit gewünschten Eigenschaften zum Synchronisieren von Modulkonfigurationen oder -zuständen verwendet.

Gewünschte EdgeAgent-Eigenschaften

Der Modul-Twin für den IoT Edge Agent wird genannt $edgeAgent. Es koordiniert die Kommunikation zwischen dem IoT Edge-Agent, der auf einem Gerät und IoT Hub ausgeführt wird. Die gewünschten Eigenschaften werden festgelegt, wenn ein Bereitstellungsmanifest auf einem bestimmten Gerät im Zuge einer Einzelgeräte- oder einer umfassenden Bereitstellung angewendet wird.

Eigenschaft Beschreibung Erforderlich
imagePullPolicy Gibt an, wann das Bild abgerufen werden soll: OnCreate oder Never. Verwenden Sie "Nie ", wenn sich das Bild bereits auf dem Gerät befindet. Ja
restartPolicy Wenn das Modul neu gestartet werden soll. Mögliche Werte sind: Nie: Modul nicht neu starten, wenn es nicht läuft, Immer: Modul immer neu starten, wenn es nicht läuft, Wenn-Fehlerhaft: Modul neu starten, wenn es fehlerhaft ist. „Fehlerhaft“ ist das, was Docker basierend auf einer Integritätsprüfung meldet, z. B. „Fehlerhaft: der Container funktioniert nicht ordnungsgemäß“, Wenn-Fehler: Neu starten, wenn Fehler. Ja
runtime.type Muss Docker sein. Ja
runtime.settings.minDockerVersion Gibt die mindeste Docker-Version an, die für dieses Bereitstellungsmanifest erforderlich ist. Ja
runtime.settings.loggingOptions Gibt einen zeichenfolgenbasierten JSON-Code mit den Protokollierungsoptionen für den IoT Edge-Agent-Container an. Weitere Informationen zu Docker-Protokollierungsoptionen. Nein
runtime.settings.registryCredentials.{Registrierungs-ID}.username Gibt den Benutzernamen der Containerregistrierung an. Für Azure Container Registry entspricht der Benutzername in der Regel dem Namen der Registrierung. Registrierungsanmeldeinformationen sind für private Modulimages erforderlich. Nein
runtime.settings.registryCredentials.{Registrierungs-ID}.password Das Kennwort der Containerregistrierung. Nein
runtime.settings.registryCredentials.{Registrierungs-ID}.address Die Adresse der Containerregistrierung. Für Azure Container Registry lautet die Adresse in der Regel {Registryname}.azurecr.io. Nein
schemaVersion Gibt entweder 1.0 oder 1.1 an. Version 1.1, eingeführt mit IoT Edge Version 1.0.10, wird empfohlen. Ja
Status Gewünschter Status des Moduls: Wird ausgeführt oder Beendet. Erforderlich
systemModules.edgeAgent.type Muss Docker sein. Ja
systemModules.edgeAgent.startupOrder Gibt eine ganze Zahl für die Position des Moduls in der Startreihenfolge an. 0 ist an erster Stelle, und maximale ganze Zahl (4294967295) ist an letzter Stelle. Wenn kein Wert angegeben wird, ist die Standardeinstellung eine maximale ganze Zahl. Nein
systemModules.edgeAgent.settings.image Gibt den URI des Bildes des IoT-Edge-Agenten an. Der IoT Edge-Agent kann sich nicht selbst aktualisieren. Ja
systemModules.edgeAgent.settings.createOptions Gibt einen zeichenfolgenbasierten JSON-Code mit Optionen zum Erstellen des IoT Edge-Agent-Containers an. Erfahren Sie mehr über Docker-Erstellungsoptionen. Nein
systemModules.edgeAgent.configuration.id Die ID der Bereitstellung, von der dieses Modul bereitgestellt wurde. IoT Hub legt diese Eigenschaft fest, wenn das Manifest mithilfe einer Bereitstellung angewandt wird. Nicht Teil eines Bereitstellungsmanifests.
systemModules.edgeHub.type Muss Docker sein. Ja
systemModules.edgeHub.type Muss Wird ausgeführt sein. Ja
systemModules.edgeHub.restartPolicy Muss Immer sein. Ja
systemModules.edgeHub.startupOrder Ein ganzzahliger Wert für die Position eines Moduls in der Startreihenfolge. 0 ist der erste und die maximale ganze Zahl (4294967295) ist der letzte Speicherort. Wenn kein Wert angegeben wird, ist die maximale ganze Zahl der Standardwert. Nein
systemModules.edgeHub.settings.image Der URI des Images des IoT Edge-Hubs. Ja
systemModules.edgeHub.settings.createOptions In eine Zeichenfolge umgewandelter JSON-Code mit den Optionen für die Erstellung des IoT Edge-Hubcontainers. Docker-Erstellungsoptionen Nein
systemModules.edgeHub.configuration.id Die ID der Bereitstellung, von der dieses Modul bereitgestellt wurde. IoT Hub legt diese Eigenschaft fest, wenn das Manifest mithilfe einer Bereitstellung angewandt wird. Nicht Teil eines Bereitstellungsmanifests.
Module. {moduleId}.version Benutzerdefinierte Zeichenfolge, die die Version des Moduls darstellt. Ja
Module. {moduleId}.type Muss Docker sein. Ja
Module. {moduleId}.status {wird ausgeführt | stopped} Ja
Module. {moduleId}.restartPolicy {nie | always} Ja
Module. {moduleId}.startupOrder Ein ganzzahliger Wert für den Speicherort eines Moduls in der Startreihenfolge. 0 ist der erste und die maximale ganze Zahl (4294967295) ist der letzte Speicherort. Wenn kein Wert angegeben wird, ist die maximale ganze Zahl der Standardwert. Nein
Module. {moduleId}.imagePullPolicy {beim Erstellen | nie} Nein
Module. {moduleId}.env Eine Liste von Umgebungsvariablen, die an das Modul übergeben werden. Nimmt das Format "<name>": {"value": "<value>"} entgegen. Nein
Module. {moduleId}.settings.image URI des Modulimage. Ja
Module. {moduleId}.settings.createOptions In eine Zeichenfolge umgewandelter JSON-Code mit den Optionen für die Erstellung des Modulcontainers. Docker-Erstellungsoptionen Nein
Module. {moduleId}.configuration.id Die ID der Bereitstellung, von der dieses Modul bereitgestellt wurde. IoT Hub legt diese Eigenschaft fest, wenn das Manifest mithilfe einer Bereitstellung angewandt wird. Nicht Teil eines Bereitstellungsmanifests.
Ausgabe Die aktuelle Iteration mit Version, Commit und Build. Nein

Gemeldete EdgeAgent-Eigenschaften

Die gemeldeten Eigenschaften des IoT Edge-Agents umfassen drei Hauptinformationen:

  • Status der Anwendung der zuletzt gesehenen gewünschten Eigenschaften,
  • Status der Module, die derzeit auf dem Gerät ausgeführt werden, wie vom IoT Edge-Agent gemeldet, und
  • Kopie der gewünschten Eigenschaften, die derzeit auf dem Gerät ausgeführt werden.

Die Kopie der aktuellen gewünschten Einstellungen hilft zu ermitteln, ob das Gerät die neueste Bereitstellung angewendet hat oder noch ein früheres Bereitstellungsmanifest verwendet.

Hinweis

Sie können die gemeldeten Eigenschaften des IoT Edge-Agents mit der IoT Hub-Abfragesprache abfragen, um den Bereitstellungsstatus im großen Maßstab zu untersuchen. Erfahren Sie, wie Sie IoT Edge-Agenteigenschaften für den Status in Grundlegendes zu IoT Edge-Bereitstellungen für einzelne Geräte oder im großen Stil verwenden.

Die folgende Tabelle enthält nicht die Informationen, die aus den gewünschten Eigenschaften kopiert werden.

Eigenschaft Beschreibung
lastDesiredStatus.code Statuscode für die letzten gewünschten Eigenschaften, die vom IoT Edge-Agent angezeigt werden. Zulässige Werte: 200 Erfolg, 400 Ungültige Konfiguration, 412 Ungültige Schemaversion, 417 Die gewünschten Eigenschaften sind leer, 500 Fehler.
lastDesiredStatus.description Textbeschreibung des Status.
letzteGewünschteVersion Dieser Integerwert bezeichnet die letzte vom IoT Edge-Agent verarbeitete Version der gewünschten Eigenschaften.
runtime.platform.OS Meldet das Betriebssystem, das auf dem Gerät ausgeführt wird.
runtime.platform.architecture Meldet die CPU-Architektur auf dem Gerät.
schemaVersion Schemaversion der gemeldeten Eigenschaften.
systemModules.edgeAgent.runtimeStatus Gemeldeter Status des IoT Edge-Agents: {running | unhealthy}.
Systemmodule.edgeAgent.Statusbeschreibung Textbeschreibung des gemeldeten Status des IoT Edge-Agents.
systemModules.edgeAgent.exitCode Der vom IoT Edge-Agentcontainer gemeldete Exitcode beim Beenden des Containers.
systemModules.edgeAgent.lastStartTimeUtc Zeitpunkt des letzten Starts des IoT Edge-Agents.
systemModules.edgeAgent.lastExitTimeUtc Zeitpunkt der letzten Beendigung des IoT Edge-Agents.
systemModules.edgeHub.runtimeStatus Status des IoT Edge-Hubs: { running | stopped | failed | backoff | unhealthy }.
systemModules.edgeHub.statusDescription Textbeschreibung des aktuellen Status des IoT Edge-Hubs, falls „fehlerhaft“
systemModules.edgeHub.exitCode Der vom IoT Edge-Hubcontainer gemeldete Exitcode beim Beenden des Containers.
systemModules.edgeHub.lastStartTimeUtc Zeitpunkt, zu dem der IoT Edge-Hub zuletzt gestartet wurde
systemModules.edgeHub.lastExitTimeUtc Zeitpunkt des letzten Starts des IoT Edge-Hubs
systemModules.edgeHub.lastRestartTimeUtc Zeitpunkt, zu dem der IoT Edge-Hub zuletzt neu gestartet wurde
systemModules.edgeHub.lastRestartTimeUtc Neustarthäufigkeit dieses Moduls aufgrund der Neustartrichtlinie
Module. {moduleId}.runtimeStatus Status des Moduls: { running | stopped | failed | backoff | unhealthy }.
Module. {moduleId}.statusDescription Textbeschreibung des Modulstatus, falls „fehlerhaft“.
Module. {moduleId}.exitCode Der vom Modulcontainer gemeldete Exitcode beim Beenden des Containers.
Module. {moduleId}.lastStartTimeUtc Zeitpunkt, zu dem das Modul zuletzt gestartet wurde
Module. {moduleId}.lastExitTimeUtc Zeitpunkt des letzten Modulstarts.
Module. {moduleId}.lastRestartTimeUtc Zeitpunkt, zu dem das Modul zuletzt neu gestartet wurde
Module. {moduleId}.restartCount Neustarthäufigkeit dieses Moduls aufgrund der Neustartrichtlinie
Ausgabe Version des Images. Beispiel: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

Gewünschte EdgeHub-Eigenschaften

Der Modulzwilling für den IoT Edge-Hub wird als $edgeHub bezeichnet und koordiniert die Kommunikationsvorgänge zwischen dem auf einem Gerät ausgeführten IoT Edge-Hub und IoT Hub. Die gewünschten Eigenschaften werden festgelegt, wenn ein Bereitstellungsmanifest auf einem bestimmten Gerät im Zuge einer Einzelgeräte- oder einer umfassenden Bereitstellung angewendet wird.

Eigenschaft Beschreibung Im Bereitstellungsmanifest erforderlich
schemaVersion Entweder „1.0“ oder „1.1“. Version 1.1 wurde mit IoT Edge Version 1.0.10 eingeführt und wird empfohlen. Ja
Routen. {routeName} Eine Zeichenfolge, die eine IoT Edge-Hubroute darstellt. Weitere Informationen finden Sie unter Deklarieren von Routen. Das routes-Element kann vorhanden, aber leer sein.
storeAndForwardConfiguration.timeToLiveSecs Gerätezeit in Sekunden, für die der IoT Edge-Hub Nachrichten nach einer Trennung von Routingendpunkten aufbewahrt, beispielsweise von einem IoT Hub oder einem lokalen Modul. Diese Zeit wird über jegliche Abschaltungen oder Neustarts beibehalten. Weitere Informationen finden Sie unter Offlinefunktionen. Ja

Gemeldete EdgeHub-Eigenschaften

Eigenschaft Beschreibung
letzteGewünschteVersion Dieser Integerwert bezeichnet die letzte vom IoT Edge-Hub verarbeitete Version der gewünschten Eigenschaften.
lastDesiredStatus.code Der Statuscode bezieht sich auf die letzten gewünschten Eigenschaften, die der IoT Edge-Hub erkannt hat. Zulässige Werte: 200 Success (Erfolg), 400 Invalid Configuration (ungültige Konfiguration), 500 Failed (Fehler)
lastDesiredStatus.description Textbeschreibung des Status.
Clients Alle Clients, die mit EdgeHub verbunden sind, mit dem Status und der letzten Verbindungszeit. Beispiel: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }.
Klienten. {device or moduleId}.status Konnektivitätsstatus dieses Geräts oder Moduls. Mögliche Werte {connected | disconnected}. Nur Modulidentitäten können den Status „disconnected“ aufweisen. Nachgeschaltete Geräte, die eine Verbindung mit dem IoT Edge-Hub herstellen, werden nur bei erfolgreicher Verbindung angezeigt.
Klienten. {device or moduleId}.lastConnectTime Letzter Verbindungszeitpunkt des Geräts oder Moduls.
Klienten. {device or moduleId}.lastDisconnectTime Letzter Trennungszeitpunkt des Geräts oder Moduls.
schemaVersion Schemaversion der gemeldeten Eigenschaften.
Ausgabe Version des Images. Beispiel: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

Nächste Schritte

Weitere Informationen zur Verwendung dieser Eigenschaften zum Erstellen von Bereitstellungsmanifesten finden Sie unter Verstehen, wie IoT Edge-Module verwendet, konfiguriert und wiederverwendet werden können.