The summary object is a twin reported json object that summarizes the state of the device. Such summaries are very efficient in finding devices based on summarized properties. For more details, see the Twin Aggregation page.
Sub-Group | Properties | ||
Deployment List Desired: n/a Reported: Yes Indicates what deployments affect this device. |
`deployments` | Type | string |
Desired | n/a | ||
Reported | Yes | ||
Description | Hold a list of deployment ids separated by semicolons. | ||
Failed Count Desired: n/a Reported: Yes Indicates the number of failed configuration sub-groups. |
`failedCount` | Type | integer |
Desired | n/a | ||
Reported | Yes | ||
Description | The number of failed configuration sub-groups. | ||
Failed Groups Desired: n/a Reported: Yes Indicates a list of configuration group identifiers with failures. |
`failedGroups` | Type | string |
Desired | n/a | ||
Reported | Yes | ||
Description | A semicolon separate list of configuration group identifiers where errors are reported. | ||
Pending Count Desired: n/a Reported: Yes Indicates the number of pending configuration sub-groups. |
`pendingCount` | Type | integer |
Desired | n/a | ||
Reported | Yes | ||
Description | The number of pending configuration sub-groups. | ||
Pending Groups Desired: n/a Reported: Yes Indicates a list of configuration group identifiers with failures. |
`pendingGroups` | Type | string |
Desired | n/a | ||
Reported | Yes | ||
Description | A semicolon separate list of configuration group identifiers where errors are reported. | ||
Time Stamp Desired: n/a Reported: Yes Indicates the time stamp of when the summary object was last updated. |
`time` | Type | string |
Desired | n/a | ||
Reported | Yes | ||
Description | Time in ISO 8601 format (i.e. 2016-10-10T17:00:00Z). |
"__summary": { "deployments": "", "failedCount": 1, "failedGroups": "deviceInfo", "pendingCount": 0, "pendingGroups": "", "time": "2018-11-21T11:16:30Z" }
This object is represetned in the code with the ReportedSummary
type. An instance of this type is created and owned by the handlers host (AzureDMClient
).
When a handler changes its deployment state or reports, the device agent intercepts those calls and updates the summary object, and then aggregates its json representation with the json coming from the handler and reports them as one chunk.
This is important to maintain the integrity of the data in the twin.