Azure IoT Edge模块孪生对应的读写REST API是什么?
Azure IoT Edge模块孪生的REST API 详解
其实针对IoT Edge模块孪生的REST API是存在的,和设备孪生的API结构逻辑一致,只是需要在请求路径里追加模块标识的层级。下面给你具体拆解读取和更新的对应接口:
读取模块孪生
用GET请求即可,资源URI的格式是这样的:
https://{你的IoT Hub名称}.azure-devices.net/devices/{目标设备ID}/modules/{目标模块ID}/twin?api-version=2020-05-31-preview
小贴士:api-version建议选用较新的稳定版本,比如上面的
2020-05-31-preview就已经完全支持模块孪生的所有操作,后续有更新版本也可以直接替换。
请求头必须带上有效的授权信息,比如SAS令牌(格式为Authorization: SharedAccessSignature sr={IoT Hub主机名}&sig={签名}&se={过期时间}&skn={密钥名称}),或者Azure AD生成的Bearer令牌。
更新模块孪生
使用PATCH请求,资源URI和读取的完全一致:
https://{你的IoT Hub名称}.azure-devices.net/devices/{目标设备ID}/modules/{目标模块ID}/twin?api-version=2020-05-31-preview
请求体需要是JSON格式,比如要更新期望属性的话,可以这么写:
{ "properties": { "desired": { "temperatureThreshold": 28, "fanMode": "auto" } } }
同时要在请求头里设置Content-Type: application/json,再配上有效的授权令牌就行。
你之前没找到对应的API,大概率是没注意到要在设备孪生的路径后追加/modules/{模块ID}这个层级——模块孪生的API就是在设备孪生的基础上扩展出来的模块级操作接口。
内容的提问来源于stack exchange,提问作者silent
相关产品推荐
相关产品推荐

