你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Twin 类

设备或模块的状态信息。 在IoT 中心中创建或删除相应的设备/模块标识时,会隐式创建和删除此标识。

继承
Twin

构造函数

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)

参数

device_id
str
必需

IoT 中心标识注册表中设备的唯一标识符。 它是一个区分大小写的字符串, (最多 128 个字符长) ASCII 7 位字母数字字符, 以及以下特殊字符 {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', ' (', ') ', ',', '=', '@', ';', '$', '''}。

module_id
str
必需

IoT 中心标识注册表中模块的唯一标识符。 它是一个区分大小写的字符串, (最多 128 个字符长) ASCII 7 位字母数字字符, 以及以下特殊字符 {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', ' (', ') ', ',', '=', '@', ';', '$', '''}。

tags
dict[str, object]
必需

由解决方案后端读取和写入的键值对的集合。 它们对设备应用不可见。 它们的密钥是 UTF-8 编码的,区分大小写,最大长度为 1KB。 允许的字符排除 (段 C0 和 C1) 、“.”、“$”和空格的 UNICODE 控制字符。 值为 JSON 对象,长度最大为 4KB。

properties
TwinProperties
必需

孪生体的所需属性和报告属性。

etag
str
必需

表示设备孪生的 ETag 的字符串,根据 RFC7232。

version
<xref:long>
必需

设备孪生的版本,包括标记和所需属性

device_etag
str
必需

表示设备的 ETag 的字符串,根据 RFC7232。

status
str 或 <xref:protocol.models.enum>
必需

设备的启用状态。 如果禁用,设备将无法连接到服务。 可能的值包括:“enabled”、“disabled”

status_reason
str
必需

设备当前状态的原因(如果有)。

status_update_time
datetime
必需

上次更新设备状态的日期和时间。

connection_state
str 或 <xref:protocol.models.enum>
必需

设备的连接状态。 可能的值包括:“Disconnected”、“Connected”

last_activity_time
datetime
必需

设备上次连接、接收或发送消息的日期和时间。 日期和时间以 ISO8601 日期/时间格式(例如 2015-01-28T16:24:48.789Z)分隔。 如果设备使用 HTTP/1 协议执行消息传送操作,则不会更新此值。

cloud_to_device_message_count
int
必需

发送的云到设备的消息数。

authentication_type
str 或 <xref:protocol.models.enum>
必需

设备使用的身份验证类型。 可能的值包括:“sas”、“selfSigned”、“certificateAuthority”、“none”

x509_thumbprint
X509Thumbprint
必需

设备的 X509 指纹。

capabilities
DeviceCapabilities
必需
device_scope
str
必需

设备的范围。

parent_scopes
list[str]
必需

上层边缘设备的范围(如果适用)。 仅适用于边缘设备。

方法

as_dict

使用 json.dump 返回可以是 JSONify 的 dict。

高级用法可以选择使用回调作为参数:

Key 是 Python 中使用的属性名称。 Attr_desc是元数据的一个听写。 当前包含具有 msrest 类型的“type”和包含 RestAPI 编码密钥的“key”。 Value 是此 对象中的当前值。

返回的字符串将用于序列化密钥。 如果返回类型是列表,则这被视为分层结果 dict。

请参阅此文件中的三个示例:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

如果需要 XML 序列化,可以传递 kwargs is_xml=True。

deserialize

使用 RestAPI 语法分析 str 并返回模型。

enable_additional_properties_sending
from_dict

使用给定的键提取程序分析 dict 会返回模型。

默认情况下,请考虑密钥提取程序 (rest_key_case_insensitive_extractor、attribute_key_case_insensitive_extractor和last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

返回将从此模型发送到 Azure 的 JSON。

这是 as_dict (full_restapi_key_transformer 的别名 ,keep_readonly=False)

如果需要 XML 序列化,可以传递 kwargs is_xml=True。

validate

以递归方式验证此模型,并返回 ValidationError 列表。

as_dict

使用 json.dump 返回可以是 JSONify 的 dict。

高级用法可以选择使用回调作为参数:

Key 是 Python 中使用的属性名称。 Attr_desc是元数据的一个听写。 当前包含具有 msrest 类型的“type”和包含 RestAPI 编码密钥的“key”。 Value 是此 对象中的当前值。

返回的字符串将用于序列化密钥。 如果返回类型是列表,则这被视为分层结果 dict。

请参阅此文件中的三个示例:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

如果需要 XML 序列化,可以传递 kwargs is_xml=True。

as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)

参数

key_transformer
<xref:function>

密钥转换器函数。

keep_readonly
默认值: True

返回

与 dict JSON 兼容的对象

返回类型

deserialize

使用 RestAPI 语法分析 str 并返回模型。

deserialize(data, content_type=None)

参数

data
str
必需

使用 RestAPI 结构的 str。 默认情况下为 JSON。

content_type
str
默认值: None

默认情况下,如果为 XML,则设置 application/xml。

返回

此模型的实例

例外

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

使用给定的键提取程序分析 dict 会返回模型。

默认情况下,请考虑密钥提取程序 (rest_key_case_insensitive_extractor、attribute_key_case_insensitive_extractor和last_rest_key_case_insensitive_extractor)

from_dict(data, key_extractors=None, content_type=None)

参数

data
dict
必需

使用 RestAPI 结构的 dict

content_type
str
默认值: None

默认情况下,如果为 XML,则设置 application/xml。

key_extractors
默认值: None

返回

此模型的实例

例外

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

返回将从此模型发送到 Azure 的 JSON。

这是 as_dict (full_restapi_key_transformer 的别名 ,keep_readonly=False)

如果需要 XML 序列化,可以传递 kwargs is_xml=True。

serialize(keep_readonly=False, **kwargs)

参数

keep_readonly
bool
默认值: False

如果要序列化只读属性

返回

与 dict JSON 兼容的对象

返回类型

validate

以递归方式验证此模型,并返回 ValidationError 列表。

validate()

返回

验证错误列表

返回类型