You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/iot-edge/module-edgeagent-edgehub.md
+48-39Lines changed: 48 additions & 39 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,35 +30,39 @@ The module twin for the IoT Edge agent is called `$edgeAgent` and coordinates th
30
30
31
31
| Property | Description | Required |
32
32
| -------- | ----------- | -------- |
33
-
| schemaVersion | Either "1.0" or "1.1". Version 1.1 was introduced with IoT Edge version 1.0.10, and is recommended. | Yes |
34
-
| runtime.type | Has to be "docker" | Yes |
35
-
| runtime.settings.minDockerVersion | Set to the minimum Docker version required by this deployment manifest | Yes |
33
+
| imagePullPolicy | When to pull the image in either *OnCreate* or *Never* (*Never* can be used if the image is already on the device) | Yes |
34
+
| restartPolicy | When the module should be restarted. Possible values are: *Never*: don't restart module if not running, *Always*: always restart module if not running, *On-Unhealthy*: restart module if unhealthy. Unhealthy is what Docker reports based on a health check, for example "Unhealthy - the container is not working correctly", *On-Failed*: restart if Failed. | Yes |
35
+
| runtime.type | Has to be *docker*. | Yes |
36
+
| runtime.settings.minDockerVersion | Set to the minimum Docker version required by this deployment manifest. | Yes |
36
37
| runtime.settings.loggingOptions | A stringified JSON containing the logging options for the IoT Edge agent container. [Docker logging options](https://docs.docker.com/engine/admin/logging/overview/)| No |
37
-
| runtime.settings.registryCredentials.{registryId}.username | The username of the container registry. For Azure Container Registry, the username is usually the registry name.<br><br>Registry credentials are necessary for any private module images. | No |
38
+
| runtime.settings.registryCredentials.{registryId}.username | The username of the container registry. For Azure Container Registry, the username is usually the registry name.Registry credentials are necessary for any private module images. | No |
38
39
| runtime.settings.registryCredentials.{registryId}.password | The password for the container registry. | No |
39
-
| runtime.settings.registryCredentials.{registryId}.address | The address of the container registry. For Azure Container Registry, the address is usually *{registry name}.azurecr.io*. | No |
40
-
| systemModules.edgeAgent.type | Has to be "docker" | Yes |
41
-
| systemModules.edgeAgent.startupOrder | An integer value for which spot a module has in the startup order. 0 is first and max integer (4294967295) is last. If a value isn't provided, the default is max integer. | No |
40
+
| runtime.settings.registryCredentials.{registryId}.address | The address of the container registry. For Azure Container Registry, the address is usually *{registry name}.azurecr.io*. | No |
41
+
| schemaVersion | Either *1.0* or *1.1*. Version 1.1 was introduced with IoT Edge version 1.0.10, and is recommended. | Yes |
42
+
| status | Desired status of the module: *Running* or *Stopped*. | Required |
43
+
| systemModules.edgeAgent.type | Has to be *docker*. | Yes |
44
+
| systemModules.edgeAgent.startupOrder | An integer value for the location a module has in the startup order. A *0* is first and *max integer* (4294967295) is last. If a value isn't provided, the default is *max integer*. | No |
42
45
| systemModules.edgeAgent.settings.image | The URI of the image of the IoT Edge agent. Currently, the IoT Edge agent isn't able to update itself. | Yes |
43
46
| systemModules.edgeAgent.settings.createOptions | A stringified JSON containing the options for the creation of the IoT Edge agent container. [Docker create options](https://docs.docker.com/engine/api/v1.32/#operation/ContainerCreate)| No |
44
47
| systemModules.edgeAgent.configuration.id | The ID of the deployment that deployed this module. | IoT Hub sets this property when the manifest is applied using a deployment. Not part of a deployment manifest. |
45
-
| systemModules.edgeHub.type | Has to be "docker"| Yes |
46
-
| systemModules.edgeHub.status | Has to be "running"| Yes |
47
-
| systemModules.edgeHub.restartPolicy | Has to be "always"| Yes |
48
-
| systemModules.edgeHub.startupOrder | An integer value for which spot a module has in the startup order. 0 is first and max integer (4294967295) is last. If a value isn't provided, the default is max integer. | No |
48
+
| systemModules.edgeHub.type | Has to be *docker*.| Yes |
49
+
| systemModules.edgeHub.status | Has to be *running*.| Yes |
50
+
| systemModules.edgeHub.restartPolicy | Has to be *always*.| Yes |
51
+
| systemModules.edgeHub.startupOrder | An integer value for which spot a module has in the startup order. A *0* is first and *max integer* (4294967295) is last. If a value isn't provided, the default is *max integer*. | No |
49
52
| systemModules.edgeHub.settings.image | The URI of the image of the IoT Edge hub. | Yes |
50
53
| systemModules.edgeHub.settings.createOptions | A stringified JSON containing the options for the creation of the IoT Edge hub container. [Docker create options](https://docs.docker.com/engine/api/v1.32/#operation/ContainerCreate)| No |
51
54
| systemModules.edgeHub.configuration.id | The ID of the deployment that deployed this module. | IoT Hub sets this property when the manifest is applied using a deployment. Not part of a deployment manifest. |
52
55
| modules.{moduleId}.version | A user-defined string representing the version of this module. | Yes |
53
-
| modules.{moduleId}.type | Has to be "docker"| Yes |
| modules.{moduleId}.startupOrder | An integer value for which spot a module has in the startup order. 0 is first and max integer (4294967295) is last. If a value isn't provided, the default is max integer. | No |
57
-
| modules.{moduleId}.imagePullPolicy | {"on-create"\|"never"} | No |
58
-
| modules.{moduleId}.env | A list of environment variables to pass to the module. Takes the format `"<name>": {"value": "<value>"}`| No |
56
+
| modules.{moduleId}.type | Has to be *docker*.| Yes |
| modules.{moduleId}.startupOrder | An integer value for the location a module has in the startup order. A *0* is first and *max integer* (4294967295) is last. If a value isn't provided, the default is *max integer*. | No |
60
+
| modules.{moduleId}.imagePullPolicy | {*on-create*\|*never*} | No |
61
+
| modules.{moduleId}.env | A list of environment variables to pass to the module. Takes the format `"<name>": {"value": "<value>"}`.| No |
59
62
| modules.{moduleId}.settings.image | The URI to the module image. | Yes |
60
63
| modules.{moduleId}.settings.createOptions | A stringified JSON containing the options for the creation of the module container. [Docker create options](https://docs.docker.com/engine/api/v1.32/#operation/ContainerCreate)| No |
61
64
| modules.{moduleId}.configuration.id | The ID of the deployment that deployed this module. | IoT Hub sets this property when the manifest is applied using a deployment. Not part of a deployment manifest. |
65
+
| version | The current iteration that has version, commit, and build. | No |
62
66
63
67
## EdgeAgent reported properties
64
68
@@ -77,38 +81,40 @@ The following table does not include the information that is copied from the des
77
81
78
82
| Property | Description |
79
83
| -------- | ----------- |
84
+
| lastDesiredStatus.code | This status code refers to the last desired properties seen by the IoT Edge agent. Allowed values: `200` Success, `400` Invalid configuration, `412` Invalid schema version, `417` Desired properties are empty, `500` Failed.|
85
+
| lastDesiredStatus.description | Text description of the status. |
80
86
| lastDesiredVersion | This integer refers to the last version of the desired properties processed by the IoT Edge agent. |
81
-
| lastDesiredStatus.code | This status code refers to the last desired properties seen by the IoT Edge agent. Allowed values: `200` Success, `400` Invalid configuration, `412` Invalid schema version, `417` the desired properties are empty, `500` Failed |
82
-
| lastDesiredStatus.description | Text description of the status |
83
-
| runtime.platform.OS | Reporting the OS running on the device |
84
-
| runtime.platform.architecture | Reporting the architecture of the CPU on the device |
85
-
| systemModules.edgeAgent.runtimeStatus | The reported status of IoT Edge agent: {"running" \| "unhealthy"} |
87
+
| runtime.platform.OS | Reporting the OS running on the device. |
88
+
| runtime.platform.architecture | Reporting the architecture of the CPU on the device. |
89
+
| schemaVersion | Schema version of reported properties. |
90
+
| systemModules.edgeAgent.runtimeStatus | The reported status of IoT Edge agent: {*running*\|*unhealthy*}. |
86
91
| systemModules.edgeAgent.statusDescription | Text description of the reported status of the IoT Edge agent. |
87
-
| systemModules.edgeAgent.exitCode | The exit code reported by the IoT Edge agent container if the container exits |
88
-
| systemModules.edgeAgent.lastStartTimeUtc | Time when IoT Edge agent was last started |
89
-
| systemModules.edgeAgent.lastExitTimeUtc | Time when IoT Edge agent last exited |
90
-
| systemModules.edgeHub.runtimeStatus | Status of IoT Edge hub: { "running"\|"stopped"\|"failed"\|"backoff"\|"unhealthy" }|
91
-
| systemModules.edgeHub.statusDescription | Text description of the status of IoT Edge hub if unhealthy. |
92
-
| systemModules.edgeHub.exitCode |The exit code reported by the IoT Edge hub container if the container exits |
93
-
| systemModules.edgeHub.lastStartTimeUtc | Time when IoT Edge hub was last started |
94
-
| systemModules.edgeHub.lastExitTimeUtc | Time when IoT Edge hub last exited |
95
-
| systemModules.edgeHub.lastRestartTimeUtc | Time when IoT Edge hub was last restarted |
92
+
| systemModules.edgeAgent.exitCode | The exit code reported by the IoT Edge agent container if the container exits.|
93
+
| systemModules.edgeAgent.lastStartTimeUtc | Time when IoT Edge agent was last started.|
94
+
| systemModules.edgeAgent.lastExitTimeUtc | Time when IoT Edge agent last exited.|
95
+
| systemModules.edgeHub.runtimeStatus | Status of IoT Edge hub: { *running*\|*stopped*\|*failed*\|*backoff*\|*unhealthy* }.|
96
+
| systemModules.edgeHub.statusDescription | Text description of the status of IoT Edge hub, if unhealthy. |
97
+
| systemModules.edgeHub.exitCode |Exit code reported by the IoT Edge hub container, if the container exits.|
98
+
| systemModules.edgeHub.lastStartTimeUtc | Time when IoT Edge hub was last started.|
99
+
| systemModules.edgeHub.lastExitTimeUtc | Time when IoT Edge hub was last exited.|
100
+
| systemModules.edgeHub.lastRestartTimeUtc | Time when IoT Edge hub was last restarted.|
96
101
| systemModules.edgeHub.restartCount | Number of times this module was restarted as part of the restart policy. |
97
-
| modules.{moduleId}.runtimeStatus | Status of the module: { "running"\|"stopped"\|"failed"\|"backoff"\|"unhealthy" }|
98
-
| modules.{moduleId}.statusDescription | Text description of the status of the module if unhealthy. |
99
-
| modules.{moduleId}.exitCode | The exit code reported by the module container if the container exits |
100
-
| modules.{moduleId}.lastStartTimeUtc | Time when the module was last started |
101
-
| modules.{moduleId}.lastExitTimeUtc | Time when the module last exited |
102
-
| modules.{moduleId}.lastRestartTimeUtc | Time when the module was last restarted |
102
+
| modules.{moduleId}.runtimeStatus | Status of the module: { *running*\|*stopped*\|*failed*\|*backoff*\|*unhealthy* }.|
103
+
| modules.{moduleId}.statusDescription | Text description of the status of the module, if unhealthy. |
104
+
| modules.{moduleId}.exitCode | The exit code reported by the module container, if the container exits.|
105
+
| modules.{moduleId}.lastStartTimeUtc | Time when the module was last started.|
106
+
| modules.{moduleId}.lastExitTimeUtc | Time when the module was last exited.|
107
+
| modules.{moduleId}.lastRestartTimeUtc | Time when the module was last restarted.|
103
108
| modules.{moduleId}.restartCount | Number of times this module was restarted as part of the restart policy. |
109
+
| version | Version of the image. Example: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
104
110
105
111
## EdgeHub desired properties
106
112
107
113
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. The desired properties are set when applying a deployment manifest on a specific device as part of a single-device or at-scale deployment.
108
114
109
115
| Property | Description | Required in the deployment manifest |
110
116
| -------- | ----------- | -------- |
111
-
| schemaVersion | Either "1.0" or "1.1". Version 1.1 was introduced with IoT Edge version 1.0.10, and is recommended. | Yes |
117
+
| schemaVersion | Either 1.0 or 1.1. Version 1.1 was introduced with IoT Edge version 1.0.10, and is recommended. | Yes |
112
118
| routes.{routeName} | A string representing an IoT Edge hub route. For more information, see [Declare routes](module-composition.md#declare-routes). | The `routes` element can be present but empty. |
113
119
| storeAndForwardConfiguration.timeToLiveSecs | The device time in seconds that IoT Edge hub keeps messages if disconnected from routing endpoints, whether IoT Hub or a local module. This time persists over any power offs or restarts. For more information, see [Offline capabilities](offline-capabilities.md#time-to-live). | Yes |
114
120
@@ -119,9 +125,12 @@ The module twin for the IoT Edge hub is called `$edgeHub` and coordinates the co
119
125
| lastDesiredVersion | This integer refers to the last version of the desired properties processed by the IoT Edge hub. |
120
126
| lastDesiredStatus.code | The status code referring to last desired properties seen by the IoT Edge hub. Allowed values: `200` Success, `400` Invalid configuration, `500` Failed |
121
127
| lastDesiredStatus.description | Text description of the status. |
122
-
| clients.{device or moduleId}.status | The connectivity status of this device or module. Possible values {"connected" \| "disconnected"}. Only module identities can be in disconnected state. Downstream devices connecting to IoT Edge hub appear only when connected. |
128
+
| clients | All clients connected to edgeHub with the status and last connected time. Example: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }. |
129
+
| clients.{device or moduleId}.status | The connectivity status of this device or module. Possible values {*connected*\|*disconnected*}. Only module identities can be in disconnected state. Downstream devices connecting to IoT Edge hub appear only when connected. |
123
130
| clients.{device or moduleId}.lastConnectTime | Last time the device or module connected. |
124
131
| clients.{device or moduleId}.lastDisconnectTime | Last time the device or module disconnected. |
132
+
| schemaVersion | Schema version of reported properties. |
133
+
| version | Version of the image. Example: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
0 commit comments