Eigenschaften der Modulzwillinge von IoT Edge-Agent und IoT Edge-HubProperties of the IoT Edge agent and IoT Edge hub module twins

Der IoT Edge-Agent und der IoT Edge-Hub sind die beiden Module, aus denen sich die IoT Edge-Runtime zusammensetzt.The IoT Edge agent and IoT Edge hub are two modules that make up the IoT Edge runtime. Weitere Informationen dazu, welche Aufgaben von einem Modul jeweils ausgeführt werden, finden Sie unter Grundlegendes zur Azure IoT Edge-Laufzeit und ihrer Architektur.For more information about what duties each module performs, see Understand the Azure IoT Edge runtime and its architecture.

Dieser Artikel enthält die gewünschten Eigenschaften und gemeldeten Eigenschaften der Laufzeitmodulzwillinge.This article provides the desired properties and reported properties of the runtime module twins. Weitere Informationen zum Bereitstellen von Modulen auf IoT Edge-Geräten finden Sie unter Informationen zum Bereitstellen von Modulen und Einrichten von Routen in IoT Edge.For more information on how to deploy modules on IoT Edge devices, see Learn how to deploy modules and establish routes in IoT Edge.

Ein Modulzwilling enthält:A module twin includes:

  • Gewünschte EigenschaftenDesired properties. Das Lösungs-Back-End kann gewünschte Eigenschaften festlegen, die vom Modul gelesen werden können.The solution backend can set desired properties, and the module can read them. Das Modul kann auch Benachrichtigungen über Änderungen an den gewünschten Eigenschaften erhalten.The module can also receive notifications of changes in the desired properties. Gewünschte Eigenschaften werden in Verbindung mit gemeldeten Eigenschaften zum Synchronisieren von Modulkonfigurationen oder -zuständen verwendet.Desired properties are used along with reported properties to synchronize module configuration or conditions.

  • Gemeldete EigenschaftenReported properties. Das Modul kann gemeldete Eigenschaften festlegen, die vom Lösungs-Back-End gelesen und abgefragt werden können.The module can set reported properties, and the solution backend can read and query them. Gemeldete Eigenschaften werden in Verbindung mit gewünschten Eigenschaften zum Synchronisieren von Modulkonfigurationen oder -zuständen verwendet.Reported properties are used along with desired properties to synchronize module configuration or conditions.

Gewünschte EdgeAgent-EigenschaftenEdgeAgent desired properties

Der Modulzwilling für den IoT Edge-Agent heißt $edgeAgent und koordiniert die Kommunikationsvorgänge zwischen dem auf einem Gerät ausgeführten IoT Edge-Agent und IoT Hub.The module twin for the IoT Edge agent is called $edgeAgent and coordinates the communications between the IoT Edge agent running on a device and 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.The desired properties are set when applying a deployment manifest on a specific device as part of a single-device or at-scale deployment.

EigenschaftProperty BESCHREIBUNGDescription ErforderlichRequired
SchemaversionschemaVersion Muss „1.0“ sein.Has to be "1.0" JaYes
runtime.typeruntime.type Muss „Docker“ sein.Has to be "docker" JaYes
runtime.settings.minDockerVersionruntime.settings.minDockerVersion Legen Sie hier die für dieses Bereitstellungsmanifest mindestens erforderliche Docker-Version fest.Set to the minimum Docker version required by this deployment manifest JaYes
runtime.settings.loggingOptionsruntime.settings.loggingOptions In eine Zeichenfolge umgewandelter JSON-Code mit den Protokollierungsoptionen für den IoT Edge-Agent-Container.A stringified JSON containing the logging options for the IoT Edge agent container. Docker-ProtokollierungsoptionenDocker logging options NeinNo
runtime.settings.registryCredentialsruntime.settings.registryCredentials
.{registryId}.username.{registryId}.username
Der Benutzername der Containerregistrierung.The username of the container registry. Für Azure Container Registry entspricht der Benutzername in der Regel dem Namen der Registrierung.For Azure Container Registry, the username is usually the registry name.

Registrierungsanmeldeinformationen werden für jedes nicht öffentliche Modulimage benötigt.Registry credentials are necessary for any module images that are not public.
NeinNo
runtime.settings.registryCredentialsruntime.settings.registryCredentials
.{registryId}.password.{registryId}.password
Das Kennwort der Containerregistrierung.The password for the container registry. NeinNo
runtime.settings.registryCredentialsruntime.settings.registryCredentials
.{registryId}.address.{registryId}.address
Die Adresse der Containerregistrierung.The address of the container registry. Für Azure Container Registry lautet die Adresse in der Regel {Registryname}.azurecr.io.For Azure Container Registry, the address is usually {registry name}.azurecr.io. NeinNo
systemModules.edgeAgent.typesystemModules.edgeAgent.type Muss „Docker“ sein.Has to be "docker" JaYes
systemModules.edgeAgent.settings.imagesystemModules.edgeAgent.settings.image Der URI des IoT Edge-Agent-Images.The URI of the image of the IoT Edge agent. Der IoT Edge-Agent kann sich derzeit nicht selbst aktualisieren.Currently, the IoT Edge agent is not able to update itself. JaYes
systemModules.edgeAgent.settingssystemModules.edgeAgent.settings
.createOptions.createOptions
In eine Zeichenfolge umgewandelter JSON-Code, der die Optionen für die Erstellung des IoT Edge-Agent-Containers enthält.A stringified JSON containing the options for the creation of the IoT Edge agent container. Docker-ErstellungsoptionenDocker create options NeinNo
systemModules.edgeAgent.configuration.idsystemModules.edgeAgent.configuration.id Die ID der Bereitstellung, von der dieses Modul bereitgestellt wurde.The ID of the deployment that deployed this module. IoT Hub legt diese Eigenschaft fest, wenn das Manifest mithilfe einer Bereitstellung angewandt wird.IoT Hub sets this property when the manifest is applied using a deployment. Nicht Teil eines Bereitstellungsmanifests.Not part of a deployment manifest.
systemModules.edgeHub.typesystemModules.edgeHub.type Muss „Docker“ sein.Has to be "docker" JaYes
systemModules.edgeHub.typesystemModules.edgeHub.status Muss „running“ sein.Has to be "running" JaYes
systemModules.edgeHub.restartPolicysystemModules.edgeHub.restartPolicy Muss „always“ sein.Has to be "always" JaYes
systemModules.edgeHub.settings.imagesystemModules.edgeHub.settings.image Der URI des Images des IoT Edge-Hubs.The URI of the image of the IoT Edge hub. JaYes
systemModules.edgeHub.settingssystemModules.edgeHub.settings
.createOptions.createOptions
In eine Zeichenfolge umgewandelter JSON-Code mit den Optionen für die Erstellung des IoT Edge-Hubcontainers.A stringified JSON containing the options for the creation of the IoT Edge hub container. Docker-ErstellungsoptionenDocker create options NeinNo
systemModules.edgeHub.configuration.idsystemModules.edgeHub.configuration.id Die ID der Bereitstellung, von der dieses Modul bereitgestellt wurde.The ID of the deployment that deployed this module. IoT Hub legt diese Eigenschaft fest, wenn das Manifest mithilfe einer Bereitstellung angewandt wird.IoT Hub sets this property when the manifest is applied using a deployment. Nicht Teil eines Bereitstellungsmanifests.Not part of a deployment manifest.
modules.{moduleId}.versionmodules.{moduleId}.version Benutzerdefinierte Zeichenfolge, die die Version des Moduls darstellt.A user-defined string representing the version of this module. JaYes
modules.{moduleId}.typemodules.{moduleId}.type Muss „Docker“ sein.Has to be "docker" JaYes
modules.{moduleId}.statusmodules.{moduleId}.status {"running" | "stopped"}{"running" | "stopped"} JaYes
modules.{moduleId}.restartPolicymodules.{moduleId}.restartPolicy {"never" | "on-failure" | "on-unhealthy" | "always"}{"never" | "on-failure" | "on-unhealthy" | "always"} JaYes
modules.{moduleId}.imagePullPolicymodules.{moduleId}.imagePullPolicy {"on-create" | "never"}{"on-create" | "never"} NeinNo
modules.{moduleId}.settings.imagemodules.{moduleId}.settings.image URI des Modulimage.The URI to the module image. JaYes
modules.{moduleId}.settings.createOptionsmodules.{moduleId}.settings.createOptions In eine Zeichenfolge umgewandelter JSON-Code mit den Optionen für die Erstellung des Modulcontainers.A stringified JSON containing the options for the creation of the module container. Docker-ErstellungsoptionenDocker create options NeinNo
modules.{moduleId}.configuration.idmodules.{moduleId}.configuration.id Die ID der Bereitstellung, von der dieses Modul bereitgestellt wurde.The ID of the deployment that deployed this module. IoT Hub legt diese Eigenschaft fest, wenn das Manifest mithilfe einer Bereitstellung angewandt wird.IoT Hub sets this property when the manifest is applied using a deployment. Nicht Teil eines Bereitstellungsmanifests.Not part of a deployment manifest.

Gemeldete EdgeAgent-EigenschaftenEdgeAgent reported properties

Zu den vom IoT Edge-Agent gemeldeten Eigenschaften gehören drei Hauptinformationen:The IoT Edge agent reported properties include three main pieces of information:

  1. Status der Anwendung der zuletzt erkannten gewünschten EigenschaftenThe status of the application of the last-seen desired properties;
  2. Status der Module, die nach Angaben des IoT Edge-Agents derzeit auf dem Gerät ausgeführt werdenThe status of the modules currently running on the device, as reported by the IoT Edge agent; and
  3. Kopie der gewünschten Eigenschaften, die derzeit auf dem Gerät ausgeführt werdenA copy of the desired properties currently running on the device.

Mit dieser letzten Information, einer Kopie der aktuellen gewünschten Eigenschaften, können Sie feststellen, ob das Gerät die neuesten gewünschten Eigenschaften übernommen hat oder noch ein vorheriges Bereitstellungsmanifest ausführt.This last piece of information, a copy of the current desired properties, is useful to tell whether the device has applied the latest desired properties or is still running a previous deployment manifest.

Hinweis

Die gemeldeten Eigenschaften des IoT Edge-Agents sind hilfreich, da sie mit der IoT Hub-Abfragesprache abgefragt werden können, um den Status der Bereitstellungen großflächig zu untersuchen.The reported properties of the IoT Edge agent are useful as they can be queried with the IoT Hub query language to investigate the status of deployments at scale. Weitere Informationen zur Verwendung der IoT Edge-Agent-Eigenschaften für den Status finden Sie unter Grundlegendes zu IoT Edge-Bereitstellungen für einzelne Geräte oder nach Bedarf.For more information on how to use the IoT Edge agent properties for status, see Understand IoT Edge deployments for single devices or at scale.

In der folgenden Tabelle sind die aus den gewünschten Eigenschaften kopierten Informationen nicht enthalten.The following table does not include the information that is copied from the desired properties.

EigenschaftProperty BESCHREIBUNGDescription
lastDesiredVersionlastDesiredVersion Dieser Integerwert bezeichnet die letzte vom IoT Edge-Agent verarbeitete Version der gewünschten Eigenschaften.This integer refers to the last version of the desired properties processed by the IoT Edge agent.
lastDesiredStatus.codelastDesiredStatus.code Dieser Statuscode bezieht sich auf die letzten gewünschten Eigenschaften, die der IoT Edge-Agent erkannt hat.This status code refers to the last desired properties seen by the IoT Edge agent. Zulässige Werte: 200: Erfolgreich, 400: Ungültige Konfiguration, 412: Ungültige Schemaversion, 417: Die gewünschten Eigenschaften sind leer, 500: FehlerAllowed values: 200 Success, 400 Invalid configuration, 412 Invalid schema version, 417 the desired properties are empty, 500 Failed
lastDesiredStatus.descriptionlastDesiredStatus.description Textbeschreibung des StatusText description of the status
deviceHealthdeviceHealth healthy, wenn der Runtimestatus aller Module entweder running oder stopped ist, andernfalls unhealthyhealthy if the runtime status of all modules is either running or stopped, unhealthy otherwise
configurationHealth.{deploymentId}.healthconfigurationHealth.{deploymentId}.health healthy, wenn der von der Bereitstellung {deploymentId} festgelegte Runtimestatus aller Module running oder stopped ist, andernfalls unhealthyhealthy if the runtime status of all modules set by the deployment {deploymentId} is either running or stopped, unhealthy otherwise
runtime.platform.OSruntime.platform.OS Meldung des auf dem Gerät ausgeführten BetriebssystemsReporting the OS running on the device
runtime.platform.architectureruntime.platform.architecture Meldung der CPU-Architektur auf dem GerätReporting the architecture of the CPU on the device
systemModules.edgeAgent.runtimeStatussystemModules.edgeAgent.runtimeStatus Gemeldeter Status des IoT Edge-Agents: {„running“ | „unhealthy“}The reported status of IoT Edge agent: {"running" | "unhealthy"}
systemModules.edgeAgent.statusDescriptionsystemModules.edgeAgent.statusDescription Textbeschreibung des gemeldeten Status des IoT Edge-Agents.Text description of the reported status of the IoT Edge agent.
systemModules.edgeHub.runtimeStatussystemModules.edgeHub.runtimeStatus Aktueller Status des IoT Edge-Hubs: {„running“ | „stopped“ | „failed“ | „backoff“ | „unhealthy“}Status of IoT Edge hub: { "running" | "stopped" | "failed" | "backoff" | "unhealthy" }
systemModules.edgeHub.statusDescriptionsystemModules.edgeHub.statusDescription Textbeschreibung des aktuellen Status des IoT Edge-Hubs, falls „unhealthy“Text description of the status of IoT Edge hub if unhealthy.
systemModules.edgeHub.exitCodesystemModules.edgeHub.exitCode Der vom IoT Edge-Hubcontainer gemeldete Exitcode beim Beenden des ContainersThe exit code reported by the IoT Edge hub container if the container exits
systemModules.edgeHub.startTimeUtcsystemModules.edgeHub.startTimeUtc Zeitpunkt des letzten Starts des IoT Edge-HubsTime when IoT Edge hub was last started
systemModules.edgeHub.lastExitTimeUtcsystemModules.edgeHub.lastExitTimeUtc Zeitpunkt der letzten Beendigung des IoT Edge-HubsTime when IoT Edge hub last exited
systemModules.edgeHub.lastRestartTimeUtcsystemModules.edgeHub.lastRestartTimeUtc Zeitpunkt des letzten Neustarts des IoT Edge-HubsTime when IoT Edge hub was last restarted
systemModules.edgeHub.lastRestartTimeUtcsystemModules.edgeHub.restartCount Neustarthäufigkeit dieses Moduls aufgrund der NeustartrichtlinieNumber of times this module was restarted as part of the restart policy.
modules.{moduleId}.runtimeStatusmodules.{moduleId}.runtimeStatus Status des Moduls: {„running“ | „stopped“ | „failed“ | „backoff“ | „unhealthy“}Status of the module: { "running" | "stopped" | "failed" | "backoff" | "unhealthy" }
modules.{moduleId}.statusDescriptionmodules.{moduleId}.statusDescription Textbeschreibung des Modulstatus, falls „unhealthy“.Text description of the status of the module if unhealthy.
modules.{moduleId}.exitCodemodules.{moduleId}.exitCode Der vom Modulcontainer gemeldete Exitcode beim Beenden des ContainersThe exit code reported by the module container if the container exits
modules.{moduleId}.startTimeUtcmodules.{moduleId}.startTimeUtc Zeitpunkt des letzten ModulstartsTime when the module was last started
modules.{moduleId}.lastExitTimeUtcmodules.{moduleId}.lastExitTimeUtc Zeitpunkt der letzten ModulbeendigungTime when the module last exited
modules.{moduleId}.lastRestartTimeUtcmodules.{moduleId}.lastRestartTimeUtc Zeitpunkt des letzten ModulneustartsTime when the module was last restarted
modules.{moduleId}.restartCountmodules.{moduleId}.restartCount Neustarthäufigkeit dieses Moduls aufgrund der NeustartrichtlinieNumber of times this module was restarted as part of the restart policy.

Gewünschte EdgeHub-EigenschaftenEdgeHub desired properties

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.The module twin for the IoT Edge hub is called $edgeHub and coordinates the communications between the IoT Edge hub running on a device and 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.The desired properties are set when applying a deployment manifest on a specific device as part of a single-device or at-scale deployment.

EigenschaftProperty BESCHREIBUNGDescription Im Bereitstellungsmanifest erforderlichRequired in the deployment manifest
SchemaversionschemaVersion Muss „1.0“ sein.Has to be "1.0" JaYes
routes.{routeName}routes.{routeName} Eine Zeichenfolge, die eine IoT Edge-Hubroute darstellt.A string representing an IoT Edge hub route. Weitere Informationen finden Sie unter Deklarieren von Routen.For more information, see Declare routes. Das routes-Element kann vorhanden, aber leer sein.The routes element can be present but empty.
storeAndForwardConfiguration.timeToLiveSecsstoreAndForwardConfiguration.timeToLiveSecs Zeit 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.The time in seconds that IoT Edge hub keeps messages if disconnected from routing endpoints, whether IoT Hub or a local module. Der Wert kann eine beliebige positive ganze Zahl sein.The value can be any positive integer. JaYes

Gemeldete EdgeHub-EigenschaftenEdgeHub reported properties

EigenschaftProperty BESCHREIBUNGDescription
lastDesiredVersionlastDesiredVersion Dieser Integerwert bezeichnet die letzte vom IoT Edge-Hub verarbeitete Version der gewünschten Eigenschaften.This integer refers to the last version of the desired properties processed by the IoT Edge hub.
lastDesiredStatus.codelastDesiredStatus.code Der Statuscode bezieht sich auf die letzten gewünschten Eigenschaften, die der IoT Edge-Hub erkannt hat.The status code referring to last desired properties seen by the IoT Edge hub. Zulässige Werte: 200: Erfolgreich, 400: Ungültige Konfiguration, 500: FehlerAllowed values: 200 Success, 400 Invalid configuration, 500 Failed
lastDesiredStatus.descriptionlastDesiredStatus.description Textbeschreibung des Status.Text description of the status.
clients.{device or moduleId}.statusclients.{device or moduleId}.status Konnektivitätsstatus dieses Geräts oder Moduls.The connectivity status of this device or module. Mögliche Werte: {"connected" | "disconnected"}.Possible values {"connected" | "disconnected"}. Nur Modulidentitäten können den Status „disconnected“ aufweisen.Only module identities can be in disconnected state. Nachgeschaltete Geräte, die eine Verbindung mit dem IoT Edge-Hub herstellen, werden nur bei erfolgreicher Verbindung angezeigt.Downstream devices connecting to IoT Edge hub appear only when connected.
clients.{device or moduleId}.lastConnectTimeclients.{device or moduleId}.lastConnectTime Letzter Verbindungszeitpunkt des Geräts oder Moduls.Last time the device or module connected.
clients.{device or moduleId}.lastDisconnectTimeclients.{device or moduleId}.lastDisconnectTime Letzter Trennungszeitpunkt des Geräts oder Moduls.Last time the device or module disconnected.

Nächste SchritteNext steps

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.To learn how to use these properties to build out deployment manifests, see Understand how IoT Edge modules can be used, configured, and reused.