首页 > 解决方案 > Azure IoT 中心 - 批量创建或更新 REST API 返回错误

问题描述

我正在尝试使用 Azure IoT Hub API 的预览版在 REST 调用中创建多个设备(批量) 。API 不断返回

“请求不包含任何设备”

这很奇怪,因为我完全按照文档格式化请求。以下是通话详情:

主持人 https://<hub-name>.azure-devices.net/devices?api-version=2019-07-01-preview

标头 Authorization: valid-sas-token-(tested this one), Content-Type: application/json

身体

{ 
   "devices":[ 
      { 
         "id":"TD_00000001",
         "importMode":"create",
         "status":"enabled",
         "authentication":{ 
            "symmetricKey":{ 
               "primaryKey":null,
               "secondaryKey":null
            },
            "x509Thumbprint":{ 
               "primaryThumbprint":null,
               "secondaryThumbprint":null
            },
            "type":"sas"
         }
      },
      { 
         "id":"TD_00000002",
         "importMode":"create",
         "status":"enabled",
         "authentication":{ 
            "symmetricKey":{ 
               "primaryKey":null,
               "secondaryKey":null
            },
            "x509Thumbprint":{ 
               "primaryThumbprint":null,
               "secondaryThumbprint":null
            },
            "type":"sas"
         }
      }
   ]
}

这是我收到的回复

{
    "Message": "ErrorCode:ArgumentInvalid;Request does not contain any devices",
    "ExceptionMessage": "Tracking ID:2406c2332a83409aa73403d27c2f6083-G:4-TimeStamp:11/26/2019 03:10:17"
}

我已经测试了 SAS 令牌,我可以很好地向 IoT 中心发送和接收消息。任何帮助,将不胜感激。

标签: azureazure-iot-hubazure-iot-sdk

解决方案


文档不正确,请尝试以下操作:

[
  {
    "id":"TD_00000001",
    "importMode":"create",
    "status":"enabled"
  },
  {
    "id":"TD_00000002",
    "importMode":"create",
    "status":"enabled"
  }
]

您应该收到以下回复:

{
  "isSuccessful":true,
  "errors":[],
  "warnings":[]
}

推荐阅读