文档中的Device Twin Properties命名约定与Python SDK相反



我想更改一个"期望的";Iot Hub中设备双胞胎的属性。

我希望属性的元素名称是一个整数值,例如:

"properties": {
"desired": {
"24": 21,
...
...
}

根据文档,这似乎是可以的。此外,当在门户网站中将具有该密钥的属性添加到设备Twin时,这也可以。

然而,使用Python SDK,这似乎是非法的:

patch = [{"op": "add", "path": "/24", "value": 11.3}]
digital_twin_client.update_digital_twin(device_id, patch)

结果在:

HttpOperationError error {"Message":"ErrorCode:ArgumentInvalid;Digital twin element name 24 is invalid. Name must be 64 characters or less and match ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$ regular expression.","ExceptionMessage":"Tracking ID:d906ded47b084e75afc9992a06df7c77-G:33-TimeStamp:12/11/2020 12:20:07"}

哪一个是正确的?

如果要更新Device Twin的所需属性,则需要使用注册表管理器。请看这个样品。您当前正在尝试使用Digital Twin客户端,该客户端不会影响Device Twin。

双设备确实支持您的情况(我自己刚刚测试过(。因此,将密钥命名为";24〃;。

最新更新