调用该接口在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. | 设备数量超限。 |
访问错误中心查看更多错误码。