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

Devices - Replace Twin

替换设备孪生的标记和所需属性。 有关详细信息,请参阅https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-device-twins

PUT https://fully-qualified-iothubname.azure-devices.net/twins/{id}?api-version=2020-05-31-preview

URI 参数

Name In Required Type Description
id
path True
  • string

设备的唯一标识符。

api-version
query True
  • string

Api 的版本。

请求头

Name Required Type Description
If-Match
  • string

根据 RFC7232,表示设备孪生弱 ETag 的字符串。 它确定是否应执行替换操作。

请求正文

Name Type Description
authenticationType enum:
  • sas
  • selfSigned
  • certificateAuthority
  • none

设备使用的身份验证类型。

capabilities

设备上启用的功能的状态。

cloudToDeviceMessageCount
  • integer

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

connectionState enum:
  • Disconnected
  • Connected

设备的连接状态。

deviceEtag
  • string

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

deviceId
  • string

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

deviceScope
  • string

设备的范围。

etag
  • string

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

lastActivityTime
  • string

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

moduleId
  • string

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

properties

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

status enum:
  • enabled
  • disabled

设备的启用状态。 如果禁用,设备无法连接到服务。

statusReason
  • string

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

statusUpdateTime
  • string

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

tags
  • object

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

version
  • integer

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

x509Thumbprint

设备的 X509 指纹。

响应

Name Type Description
200 OK

没问题。

定义

DeviceCapabilities

设备上启用的功能的状态。

Twin

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

TwinProperties

孪生体的所需属性和报告属性。 对象的最大深度为 10。

X509Thumbprint

DeviceCapabilities

设备上启用的功能的状态。

Name Type Description
iotEdge
  • boolean

用于确定设备是否为边缘设备的属性。

Twin

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

Name Type Description
authenticationType enum:
  • certificateAuthority
  • none
  • sas
  • selfSigned

设备使用的身份验证类型。

capabilities

设备上启用的功能的状态。

cloudToDeviceMessageCount
  • integer

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

connectionState enum:
  • Connected
  • Disconnected

设备的连接状态。

deviceEtag
  • string

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

deviceId
  • string

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

deviceScope
  • string

设备的范围。

etag
  • string

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

lastActivityTime
  • string

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

moduleId
  • string

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

properties

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

status enum:
  • disabled
  • enabled

设备的启用状态。 如果禁用,设备无法连接到服务。

statusReason
  • string

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

statusUpdateTime
  • string

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

tags
  • object

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

version
  • integer

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

x509Thumbprint

设备的 X509 指纹。

TwinProperties

孪生体的所需属性和报告属性。 对象的最大深度为 10。

Name Type Description
desired
  • object

所需属性键值对的集合。 密钥的长度为 UTF-8 编码、区分大小写且最大为 1KB。 允许的字符排除 UNICODE 控制字符 (段 C0 和 C1) 、“.”、“$”和空格。 所需的porperty 值为 JSON 对象,长度高达 4KB。

reported
  • object

报告的属性键值对的集合。 密钥的长度为 UTF-8 编码、区分大小写且最大为 1KB。 允许的字符排除 UNICODE 控制字符 (段 C0 和 C1) 、“.”、“$”和空格。 报告的属性值为 JSON 对象,长度最多为 4KB。

X509Thumbprint

Name Type Description
primaryThumbprint
  • string

X509 客户端证书主指纹。

secondaryThumbprint
  • string

X509 客户端证书辅助指纹。