首页 > 解决方案 > 如何使用 REST API 更新 Azure Iothub 设备状态?

问题描述

我正在尝试使用 Rest API 更新 Iothub 设备状态。链接:https ://docs.microsoft.com/en-us/rest/api/iothub/service/createorupdatedevice

我能够使用它创建一个新设备,但无法更新任何东西。

要求:

{
    "eTag": "NTkyMDYyMzsSU2",
    “状态”:“禁用”,
    “设备 ID”:“xyz”
}

回复:

{
    "Message": "ErrorCode:DeviceAlreadyExists;ID 为 'xyz' 的设备已注册。",
    “ExceptionMessage”:“跟踪 ID:8a748b37ssda964671a75f0a3fb1ba5a7b-G:8-TimeStamp:04/29/2019 14:53:52”
}

标签: restazureazure-iot-hub

解决方案


添加以下标题:

if-match:*

此外,必须在有效负载中添加设备身份验证属性,否则将为它们自动重新生成服务。以下示例使用symmetricKey

{
    "status": "disabled",
    "deviceId": "xyz",
    "authentication": {
      "symmetricKey": {
        "primaryKey": "******",
        "secondaryKey": "*****"
        }
      }
}

推荐阅读