調用該介面在指定產品下批量自訂裝置名稱。物聯網平台會檢查名稱的合法性。
使用說明
大量註冊裝置有兩種方式:
- 由系統隨機產生裝置名稱:請調用BatchRegisterDevice介面。
-
自訂裝置名稱:需本介面與BatchRegisterDeviceWithApplyId等介面結合實現。請按以下流程操作:
1. 調用本介面,傳入要大量註冊的裝置的名稱。物聯網平台檢查您提交的裝置名稱符合要求後,返回申請批次ID(ApplyId)。ApplyId將用於裝置名稱校正結果查詢、批量裝置註冊和裝置資訊查詢。
2. 調用QueryBatchRegisterDeviceStatus介面,根據申請批次ID,查看名稱校正結果。請確保自訂裝置名稱全部校正通過,再執行後續操作完成裝置註冊。
說明 如果有校正失敗的裝置名稱,請根據錯誤資訊提示進行修正,然後重新調用BatchCheckDeviceNames介面擷取新的申請批次ID(ApplyId)後,再次調用QueryBatchRegisterDeviceStatus介面確認全部裝置名稱校正通過。3. 調用BatchRegisterDeviceWithApplyId介面大量註冊裝置。本介面調用返回的成功結果,僅表示大量註冊的申請已經提交成功。實際的註冊會有一個過程。
4. (可選)調用QueryBatchRegisterDeviceStatus查看裝置註冊結果。
5. 調用QueryPageByApplyId查看大量註冊的裝置資訊。
使用限制
單次調用本介面,最多能定義10,000 個裝置名稱。但對於使用X.509認證認證的裝置,最多隻能定義1,000個裝置名稱。
QPS限制
單個阿里雲帳號調用該介面的每秒請求數(QPS)最大限制為10。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
請求參數
|
名稱 |
類型 |
是否必選 |
樣本值 |
描述 |
| Action | String | 是 | BatchCheckDeviceNames | 系統規定參數。取值:BatchCheckDeviceNames。 |
| ProductKey | String | 是 | a1BwAGV**** | 要註冊的裝置所屬的產品ProductKey。 |
| IotInstanceId | String | 否 | iot-cn-0pp1n8t**** | 執行個體ID。您可在物聯網平台控制台的執行個體概覽頁面,查看當前執行個體的ID。 重要
執行個體的更多資訊,請參見執行個體概述。 |
| DeviceName.N | RepeatList | 否 | light | 要註冊的裝置名稱。裝置名稱在產品內具有唯一性。支援英文字母、數字、短劃線(-)、底線(_)、at(@)、英文句點(.)和英文冒號(:),長度限制為4~32個字元。 該參數與DeviceNameList.N.DeviceName必須傳入一種。若您同時傳入該參數與DeviceNameList.N.DeviceName,則以DeviceNameList.N.DeviceName為準。 說明 單次調用,最多能傳入10,000個裝置名稱。超過該限制的資料會被丟棄。 |
| DeviceNameList.N.DeviceName | String | 否 | light1 | 要註冊的裝置名稱。裝置名稱在產品內具有唯一性。支援英文字母、數字、短劃線(-)、底線(_)、at(@)、英文句點(.)和英文冒號(:),長度限制為4~32個字元。 該參數與DeviceName.N必須傳入一種。若您同時傳入該參數與DeviceName.N,則以該參數為準。 說明 單次調用,最多能傳入10,000個裝置名稱。超過該限制的資料會被丟棄。 |
| DeviceNameList.N.DeviceNickname | String | 否 | 智能燈1 | 要註冊的裝置的備忘名稱。支援中文、英文字母、日文、數字和底線(_),備忘名稱長度為4~64個字元,一個中文或日文佔2個字元。 重要 若傳入該參數,則必須同時傳入DeviceNameList.N.DeviceName。
|
調用API時,除了本文介紹的該API的特有請求參數,還需傳入公用請求參數。公用請求參數說明,請參見公用參數文檔。
返回資料
名稱 |
類型 |
樣本值 |
描述 |
| Code | String | iot.system.SystemException | 調用失敗時,返回的錯誤碼。更多資訊,請參見錯誤碼。 |
| Data | Struct | 返回的資料。 |
|
| ApplyId | Long | 1295006 | 調用成功時,系統返回的申請批次ID。使用該ApplyId,調用BatchRegisterDeviceWithApplyId介面來大量建立裝置。 |
| InvalidDetailList | Array of InvalidDetailList | 註冊裝置名稱失敗時,不合法裝置名稱列表的詳細資料。 |
|
| InvalidDetailList | |||
| DeviceName | String | light | 裝置名稱。 |
| ErrorMsg | String | The device name is illegal. | 註冊裝置名稱失敗時,返回的出錯資訊。 說明 多個出錯資訊間使用豎線(|)隔開。 |
| NickName | String | 智能燈-1 | 裝置的備忘名稱。 |
| InvalidDeviceNameList | List | { "InvalidDeviceName": [ "APT$", "aw" ] } | 註冊裝置名稱失敗時,返回的不合法裝置名稱列表。 |
| InvalidDeviceNicknameList | List | { "InvalidDeviceNickname": [ "APT$", "aw" ] } | 註冊裝置名稱失敗時,返回的不合法裝置備忘名稱列表。 |
| RepeatedDeviceNameList | List | { "RepeatedDeviceName": [ "APT$", "aw" ] } | 註冊裝置名稱失敗時,返回的重複裝置名稱列表。 |
| ErrorMessage | String | 系統異常 | 調用失敗時,返回的出錯資訊。 |
| RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | 阿里雲為該請求產生的唯一識別碼。 |
| Success | Boolean | true | 是否調用成功。
|
樣本
請求樣本
https://iot.cn-shanghai.aliyuncs.com/?Action=BatchCheckDeviceNames
&productKey=a1BwAGV****
&DeviceNameList.1.DeviceName=light1
&DeviceNameList.2.DeviceName=light2
&DeviceNameList.3.DeviceName=light3
&DeviceNameList.3.DeviceNickname=智能燈3
&<公用請求參數>
正常返回樣本
XML格式
<BatchCheckDeviceNamesResponse>
<Data>
<ApplyId>1234567</ApplyId>
</Data>
<RequestId>E976E36B-6874-4FA4-8BC0-55F9BEC5E2EF</RequestId>
<Success>true</Success>
</BatchCheckDeviceNamesResponse>
JSON格式
{
"Data": {
"ApplyId": 1234567
},
"RequestId": "E976E36B-6874-4FA4-8BC0-55F9BEC5E2EF",
"Success": true
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。