調用該介面在MQTT型執行個體或MQTT雲網關產品下大量匯入裝置。
使用說明
若添加MQTT雲網關裝置,調用該介面前,請先添加MQTT雲網關並成功建立雲網關產品,擷取產品的ProductKey。具體操作,請參見建立雲網關產品(MQTT)。
QPS限制
單個阿里雲帳號調用該介面的每秒請求數(QPS)最大限制為10。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
請求參數
|
名稱 |
類型 |
是否必選 |
樣本值 |
描述 |
| Action | String | 是 | BatchImportDevice | 系統規定參數。取值:BatchImportDevice。 |
| ProductKey | String | 是 | a1BwAGV**** | 裝置所屬產品的ProductKey。ProductKey是物聯網平台為產品頒發的通用唯一識別碼。您可以在物聯網平台控制台或調用QueryProductList,查看當前帳號下所有產品的資訊。 |
| DeviceList.N.DeviceName | String | 是 | device1 | 裝置的名稱。 裝置名稱支援英文字母、數字、短劃線(-)、底線(_)、at(@)、英文句號(.)和英文冒號(:),長度限制為4~32個字元。 裝置名稱在產品維度下不可重複。 說明 單次調用該介面,最多能傳入10,000個裝置名稱。超過該限制的資料會被丟棄。 |
| DeviceList.N.DeviceSecret | String | 是 | b4d43f7******10ba5e5 | 裝置的密鑰。 裝置密鑰支援英文字母、數字、短劃線(-)、底線(_)、at(@)、英文句號(.)和英文冒號(:),長度限制為1~32個字元。 說明 單次調用該介面,最多能傳入10,000個裝置密鑰。超過該限制的資料會被丟棄。 |
| DeviceList.N.Sn | String | 否 | QC4******001 | 裝置的序號。 序號支援英文字母、數字和底線(_),長度限制為1~64個字元。 說明 單次調用該介面,最多能傳入10,000個裝置序號。超過該限制的資料會被丟棄。 |
| IotInstanceId | String | 否 | iot-1n8t**** | 執行個體ID。您可在物聯網平台控制台的執行個體概覽頁面,查看當前執行個體的ID。 重要
執行個體的更多資訊,請參見執行個體概述。 |
調用API時,除了本文介紹的該API的特有請求參數,還需傳入公用請求參數。公用請求參數說明,請參見公用參數文檔。
返回資料
名稱 |
類型 |
樣本值 |
描述 |
| Code | String | iot.system.SystemException | 調用失敗時,返回的錯誤碼。更多資訊,請參見錯誤碼。 |
| Data | Struct | 返回的資料。 |
|
| ApplyId | Long | 1295006 | 匯入裝置成功時,系統返回的申請批次ID。 |
| InvalidDetailList | Array of InvalidDetailList | 匯入裝置失敗時,不合法裝置列表的詳細資料。 |
|
| InvalidDetailList | |||
| DeviceName | String | light% | 裝置名稱。 |
| DeviceSecret | String | ^67$ | 裝置密鑰。 |
| ErrorMsg | String | The device name is illegal. | 匯入裝置失敗時,返回的出錯資訊。 |
| Sn | String | QC4001# | 裝置SN碼。 |
| InvalidDeviceNameList | List | { "InvalidDeviceNameList": [ "APT$", "aw" ] } | 匯入裝置失敗時,返回的不合法裝置名稱的列表。 |
| InvalidDeviceSecretList | List | { "InvalidDeviceSecretList": [ "^67$", "1" ] } | 匯入裝置失敗時,返回的不合法裝置密鑰的列表。 |
| InvalidSnList | List | { "InvalidSnList": [ "" ] } | 匯入裝置失敗時,返回的不合法裝置SN碼的列表。 |
| RepeatedDeviceNameList | List | { "RepeatedDeviceNameList": [ "abcd", "asdf" ] } | 匯入裝置失敗時,返回的重複裝置名稱的列表。 |
| ErrorMessage | String | 系統異常 | 調用失敗時,返回的出錯資訊。 |
| RequestId | String | E4C0FF92-2A86-41DB-92D3-73B60310D25E | 阿里雲為該請求產生的唯一識別碼。 |
| Success | Boolean | true | 表示是否調用成功。
|
樣本
請求樣本
http(s)://iot.cn-shanghai.aliyuncs.com/?Action=BatchImportDevice
&DeviceList.1.DeviceName=device1
&DeviceList.2.DeviceName=device2
&DeviceList.1.DeviceSecret=b4d43f7******10ba5e5
&DeviceList.2.DeviceSecret=912179******700210b4
&ProductKey=a1BwAGV****
&IotInstanceId=iot-1n8t****
&<公用請求參數>
正常返回樣本
XML格式
<BatchImportDeviceResponse>
<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>
<Data>
<ApplyId>1295006</ApplyId>
</Data>
<Success>true</Success>
</BatchImportDeviceResponse>
JSON格式
{
"RequestId": "E4C0FF92-2A86-41DB-92D3-73B60310D25E",
"Data": {
"ApplyId": 1295006
},
"Success": true
}
錯誤碼
|
HttpCode |
錯誤碼 |
錯誤資訊 |
描述 |
| 400 | iot.device.TooManyDeviceNamesPerRequest | The devices you query exceed the maximum number. | 請求查詢的裝置名稱數量超過最大限制。 |
| 400 | iot.device.ApplyManyDevicesFailed | An error occurred while creating multiple devices. | 申請大量建立裝置失敗。 |
| 400 | iot.device.DeviceNumerExceedTenant | The device total number beyond limit. | 裝置數量超限。 |
訪問錯誤中心查看更多錯誤碼。