如何使用REST API更新Azure Iothub设备状态?

如何使用REST API更新Azure Iothub设备状态?,rest,azure,azure-iot-hub,Rest,Azure,Azure Iot Hub,我正在尝试使用Rest API更新Iothub设备状态。 链接: 我可以使用它创建一个新设备,但无法更新任何内容 请求: { "eTag": "NTkyMDYyMzsSU2", "status": "disabled", "deviceId": "xyz" } { “eTag”:“NTkyMDYyMzsSU2”, “状态”:“已禁用”, “设备ID”:“xyz” } 答复: { "Message": "ErrorCode:DeviceAlreadyExists;A

我正在尝试使用Rest API更新Iothub设备状态。 链接:

我可以使用它创建一个新设备,但无法更新任何内容

请求:

{ "eTag": "NTkyMDYyMzsSU2", "status": "disabled", "deviceId": "xyz" } { “eTag”:“NTkyMDYyMzsSU2”, “状态”:“已禁用”, “设备ID”:“xyz” } 答复:

{ "Message": "ErrorCode:DeviceAlreadyExists;A device with ID 'xyz' is already registered.", "ExceptionMessage": "Tracking ID:8a748b37ssda964671a75f0a3fb1ba5a7b-G:8-TimeStamp:04/29/2019 14:53:52" } { “消息”:“错误代码:DeviceAlreadyExists;ID为'xyz'的设备已注册。”, “例外消息”:“跟踪ID:8a748b37ssda964671a75f0a3fb1ba5a7b-G:8-时间戳:2019年4月29日14:53:52” }
添加以下标题:

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


我认为这也会受到api请求模式(put、post等)的影响。我猜在这种情况下,get是必需的,并且响应似乎来自put请求。
{
    "status": "disabled",
    "deviceId": "xyz",
    "authentication": {
      "symmetricKey": {
        "primaryKey": "******",
        "secondaryKey": "*****"
        }
      }
}