在Azure IoT中心中创建设备时是否可以在deviceTwin的标签中定义属性?或者需要先创建设备,然后获取并更新deviceTwin。似乎“ Registry.create”(来自节点sdk)不接受此类选项。我要实现的目标是
`...
const device ={
deviceId: '1',
tags: {
location: 'London'
}
}
registry.create(device, callback)
...`
答案 0 :(得分:1)
在节点中使用Registry
创建设备时,无法在Device Twin的标签中定义属性。实际上,Registry类中的create
方法正在将PUT REST API调用到create or update device。设备信息应参考请求正文,它不接受请求正文中的属性项。
但是,有一种解决方法。您可以使用Bulk Create Or Update Devices创建带有标签和properties的新设备。
例如,将请求正文发布如下:
[
{"Id":"7ADF1F8E-0208-49B7-B62A-021323EF1B55","tags":{"location": "London"},"properties":{"desired":{"Temperature":30}},"Status":"enable","importMode":"create"},
{"Id":"F2805601-1F4D-459F-9D8F-E2F7D3638EF5","tags":{"location": "New York"},"properties":{"desired":{"Temperature":31}},"Status":"enable","importMode":"create"},
{"Id":"D0447599-5B2D-4EDB-A809-29643CC7E30E","tags":{"location": "Paris"},"properties":{"desired":{"Temperature":32}},"Status":"enable","importMode":"create"}
]
之后,您将在设备twin中找到标签和所需的属性。