BatchCheckDeviceNames

调用该接口在指定产品下批量自定义设备名称。物联网平台会检查名称的合法性。

使用说明

批量注册设备有两种方式:

  • 由系统随机生成设备名称:请调用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。

说明 RAM用户共享该阿里云账号配额。

调试

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

请求参数

名称

类型

是否必选

示例值

描述

Action String BatchCheckDeviceNames

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

ProductKey String a1BwAGV****

要注册的设备所属的产品ProductKey

IotInstanceId String iot-cn-0pp1n8t****

实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID

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

是否调用成功。

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

示例

请求示例

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
}