【问题标题】:How to update Azure Iothub device status using REST API?如何使用 REST API 更新 Azure Iothub 设备状态?
【发布时间】:2019-04-29 14:59:36
【问题描述】:

我正在尝试使用 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” }

【问题讨论】:

  • 我认为这也会受到 api 请求模式(put、post 等)的影响。我猜在这种情况下,get 是必需的,并且响应似乎来自 put 请求。

标签: rest azure azure-iot-hub


【解决方案1】:

添加以下标题:

if-match:*

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-07
    • 2012-01-11
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-12
    相关资源
    最近更新 更多