全部产品
Search
文档中心

阿里云物联网平台:BatchImportDevice

更新时间:Nov 28, 2023

调用该接口在MQTT型实例或MQTT云网关产品下批量导入设备。

使用说明

若添加MQTT云网关设备,调用该接口前,请先添加MQTT云网关并成功创建云网关产品,获取产品的ProductKey。具体操作,请参见创建云网关产品(MQTT)

QPS限制

单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为10。

说明 单个阿里云账号下的所有RAM用户共享该阿里云账号的配额。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action String BatchImportDevice

系统规定参数。取值:BatchImportDevice。

ProductKey String a1BwAGV****

设备所属产品的ProductKeyProductKey是物联网平台为产品颁发的全局唯一标识符。您可以在物联网平台控制台或调用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

重要
  • 若有ID值,必须传入该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

表示是否调用成功。

  • true:调用成功。
  • false:调用失败。

示例

请求示例

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. 设备数量超限。

访问错误中心查看更多错误码。