Twin Class
The state information for a device or module. This is implicitly created and deleted when the corresponding device/ module identity is created or deleted in the IoT Hub.
- Inheritance
-
msrest.serialization.ModelTwin
Constructor
Twin(*, device_id: str = None, module_id: str = None, tags=None, properties=None, etag: str = None, version: int = None, device_etag: str = None, status=None, status_reason: str = None, status_update_time=None, connection_state=None, last_activity_time=None, cloud_to_device_message_count: int = None, authentication_type=None, x509_thumbprint=None, capabilities=None, device_scope: str = None, parent_scopes=None, **kwargs)
Parameters
Name | Description |
---|---|
device_id
Required
|
The unique identifier of the device in the identity registry of the IoT Hub. It is a case-sensitive string (up to 128 char long) of ASCII 7-bit alphanumeric chars, and the following special characters {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', '''}. |
module_id
Required
|
The unique identifier of the module in the identity registry of the IoT Hub. It is a case-sensitive string (up to 128 char long) of ASCII 7-bit alphanumeric chars, and the following special characters {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', '''}. |
tags
Required
|
The collection of key-value pairs read and written by the solution back end. They are not visible to device apps. They keys are UTF-8 encoded, case-sensitive and up-to 1KB in length. Allowed characters exclude UNICODE control characters (segments C0 and C1), '.', '$' and space. The values are JSON objects, up-to 4KB in length. |
properties
Required
|
The desired and reported properties of the twin. |
etag
Required
|
The string representing a ETag for the device twin, as per RFC7232. |
version
Required
|
<xref:long>
The version for the device twin including tags and desired properties |
device_etag
Required
|
The string representing a ETag for the device, as per RFC7232. |
status
Required
|
str or
<xref:protocol.models.enum>
The enabled status of the device. If disabled, the device cannot connect to the service. Possible values include: 'enabled', 'disabled' |
status_reason
Required
|
The reason for the current status of the device, if any. |
status_update_time
Required
|
The date and time when the status of the device was last updated. |
connection_state
Required
|
str or
<xref:protocol.models.enum>
The connection state of the device. Possible values include: 'Disconnected', 'Connected' |
last_activity_time
Required
|
The date and time when the device last connected or received or sent a message. The date and time is sepecified in ISO8601 datetime format in UTC, for example, 2015-01-28T16:24:48.789Z. This value is not updated if the device uses the HTTP/1 protocol to perform messaging operations. |
cloud_to_device_message_count
Required
|
The number of cloud-to-device messages sent. |
authentication_type
Required
|
str or
<xref:protocol.models.enum>
The authentication type used by the device. Possible values include: 'sas', 'selfSigned', 'certificateAuthority', 'none' |
x509_thumbprint
Required
|
The X509 thumbprint of the device. |
capabilities
Required
|
|
device_scope
Required
|
The scope of the device. |
parent_scopes
Required
|
The scopes of the upper level edge devices if applicable. Only available for edge devices. |
Keyword-Only Parameters
Name | Description |
---|---|
device_id
Required
|
|
module_id
Required
|
|
tags
Required
|
|
properties
Required
|
|
etag
Required
|
|
version
Required
|
|
device_etag
Required
|
|
status
Required
|
|
status_reason
Required
|
|
status_update_time
Required
|
|
connection_state
Required
|
|
last_activity_time
Required
|
|
cloud_to_device_message_count
Required
|
|
authentication_type
Required
|
|
x509_thumbprint
Required
|
|
capabilities
Required
|
|
device_scope
Required
|
|
parent_scopes
Required
|
|
Methods
as_dict |
Return a dict that can be JSONify using json.dump. Advanced usage might optionally use a callback as parameter: Key is the attribute name used in Python. Attr_desc is a dict of metadata. Currently contains 'type' with the msrest type and 'key' with the RestAPI encoded key. Value is the current value in this object. The string returned will be used to serialize the key. If the return type is a list, this is considered hierarchical result dict. See the three examples in this file:
If you want XML serialization, you can pass the kwargs is_xml=True. |
deserialize |
Parse a str using the RestAPI syntax and return a model. |
enable_additional_properties_sending | |
from_dict |
Parse a dict using given key extractor return a model. By default consider key extractors (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor and last_rest_key_case_insensitive_extractor) |
is_xml_model | |
serialize |
Return the JSON that would be sent to azure from this model. This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False). If you want XML serialization, you can pass the kwargs is_xml=True. |
validate |
Validate this model recursively and return a list of ValidationError. |
as_dict
Return a dict that can be JSONify using json.dump.
Advanced usage might optionally use a callback as parameter:
Key is the attribute name used in Python. Attr_desc is a dict of metadata. Currently contains 'type' with the msrest type and 'key' with the RestAPI encoded key. Value is the current value in this object.
The string returned will be used to serialize the key. If the return type is a list, this is considered hierarchical result dict.
See the three examples in this file:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
If you want XML serialization, you can pass the kwargs is_xml=True.
as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)
Parameters
Name | Description |
---|---|
key_transformer
|
<xref:function>
A key transformer function. |
keep_readonly
|
Default value: True
|
Returns
Type | Description |
---|---|
A dict JSON compatible object |
deserialize
Parse a str using the RestAPI syntax and return a model.
deserialize(data, content_type=None)
Parameters
Name | Description |
---|---|
data
Required
|
A str using RestAPI structure. JSON by default. |
content_type
|
JSON by default, set application/xml if XML. Default value: None
|
Returns
Type | Description |
---|---|
An instance of this model |
Exceptions
Type | Description |
---|---|
DeserializationError if something went wrong
|
enable_additional_properties_sending
enable_additional_properties_sending()
from_dict
Parse a dict using given key extractor return a model.
By default consider key extractors (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor and last_rest_key_case_insensitive_extractor)
from_dict(data, key_extractors=None, content_type=None)
Parameters
Name | Description |
---|---|
data
Required
|
A dict using RestAPI structure |
content_type
|
JSON by default, set application/xml if XML. Default value: None
|
key_extractors
|
Default value: None
|
Returns
Type | Description |
---|---|
An instance of this model |
Exceptions
Type | Description |
---|---|
DeserializationError if something went wrong
|
is_xml_model
is_xml_model()
serialize
Return the JSON that would be sent to azure from this model.
This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False).
If you want XML serialization, you can pass the kwargs is_xml=True.
serialize(keep_readonly=False, **kwargs)
Parameters
Name | Description |
---|---|
keep_readonly
|
If you want to serialize the readonly attributes Default value: False
|
Returns
Type | Description |
---|---|
A dict JSON compatible object |
validate
Validate this model recursively and return a list of ValidationError.
validate()
Returns
Type | Description |
---|---|
A list of validation error |
Azure SDK for Python