查询设备列表
接口说明
应用服务器可调用此接口查询物联网平台中的设备信息列表。
调试
您可以在API Explorer中直接运行调试该接口。
URI
|
请求方法 |
GET |
|---|---|
|
URI |
/v5/iot/{project_id}/devices |
|
传输协议 |
HTTPS |
请求参数
|
名称 |
必选/可选 |
类型 |
位置 |
说明 |
|---|---|---|---|---|
|
X-Auth-Token |
必选 |
String |
Header |
参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 |
|
Instance-Id |
可选 |
String |
Header |
参数说明:实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。 |
|
project_id |
必选 |
String |
Path |
参数说明:项目ID。获取方法请参见 获取项目ID。 |
|
product_id |
可选 |
String |
Query |
参数说明:设备关联的产品ID,用于唯一标识一个产品模型,在管理门户导入产品模型后由平台分配获得。 取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
|
gateway_id |
可选 |
String |
Query |
参数说明:网关ID,用于标识设备所属的父设备,即父设备的设备ID。携带该参数时,表示查询该设备下的子设备,默认查询下一级子设备,如果需要查询该设备下所有各级子设备,请同时携带is_cascade_query参数为true;不携带该参数时,表示查询用户下所有设备。 取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
|
is_cascade_query |
可选 |
Boolean |
Query |
参数说明:是否级联查询,该参数仅在同时携带gateway_id时生效。默认值为false。 取值范围:
|
|
node_id |
可选 |
String |
Query |
参数说明:设备标识码,通常使用IMEI、MAC地址或Serial No作为node_id。 取值范围:长度不超过64,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
|
device_name |
可选 |
String |
Query |
参数说明:设备名称。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 |
|
limit |
可选 |
Integer |
Query |
参数说明:分页查询时每页显示的记录数。 取值范围:1-50的整数,默认值为10。 |
|
marker |
可选 |
String |
Query |
参数说明:上一次分页查询结果中最后一条记录的ID,在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的,越新的数据记录ID也会越大。若填写marker,则本次只查询记录ID小于marker的数据记录。若不填写,则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据,则每次查询时必须填写上一次查询响应中的marker值。 取值范围:长度为24的十六进制字符串,默认值为ffffffffffffffffffffffff。 |
|
offset |
可选 |
Integer |
Query |
参数说明:表示从marker后偏移offset条记录开始查询。默认为0,取值范围为0-500的整数。当offset为0时,表示从marker后第一条记录开始输出。限制offset最大值是出于API性能考虑,您可以搭配marker使用该参数实现翻页,例如每页50条记录,1-11页内都可以直接使用offset跳转到指定页,但到11页后,由于offset限制为500,您需要使用第11页返回的marker作为下次查询的marker,以实现翻页到12-22页。 取值范围:0-500的整数,默认为0。 |
|
start_time |
可选 |
String |
Query |
参数说明:查询设备注册时间在startTime之后的记录,格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 |
|
end_time |
可选 |
String |
Query |
参数说明:查询设备注册时间在endTime之前的记录,格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 |
|
app_id |
可选 |
String |
Query |
参数说明:资源空间ID。此参数为非必选参数,存在多资源空间的用户需要使用该接口时,可以携带该参数查询指定资源空间下的设备列表,不携带该参数则会查询该用户下所有设备列表。 取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
响应参数
|
名称 |
类型 |
说明 |
|---|---|---|
|
devices |
List<QueryDeviceSimplify> |
设备信息列表。 |
|
page |
Page Object |
查询结果的分页信息。 |
|
名称 |
类型 |
说明 |
|---|---|---|
|
app_id |
String |
资源空间ID。 |
|
app_name |
String |
资源空间名称。 |
|
device_id |
String |
设备ID,用于唯一标识一个设备。在注册设备时直接指定,或者由物联网平台分配获得。由物联网平台分配时,生成规则为"product_id" + "_" + "node_id"拼接而成。 |
|
node_id |
String |
设备标识码,通常使用IMEI、MAC地址或Serial No作为node_id。 |
|
gateway_id |
String |
网关ID,用于标识设备所属的父设备,即父设备的设备ID。当设备是直连设备时,gateway_id与设备的device_id一致。当设备是非直连设备时,gateway_id为设备所关联的父设备的device_id。 |
|
device_name |
String |
设备名称。 |
|
node_type |
String |
设备节点类型。
|
|
description |
String |
设备的描述信息。 |
|
fw_version |
String |
设备的固件版本。 |
|
sw_version |
String |
设备的软件版本。 |
|
device_sdk_version |
String |
设备的sdk信息。 |
|
product_id |
String |
设备关联的产品ID,用于唯一标识一个产品模型。 |
|
product_name |
String |
设备关联的产品名称。 |
|
status |
String |
设备的状态。
|
请求示例
GET https://{Endpoint}/v5/iot/{project_id}/devices?product_id={product_id}&gateway_id={gateway_id}&is_cascade_query={is_cascade_query}&node_id={node_id}&device_name={device_name}&limit={limit}&marker={marker}&offset={offset}&start_time={start_time}&end_time={end_time}&app_id={app_id}
Content-Type: application/json
X-Auth-Token: ********
Instance-Id: ********
响应示例
Status Code: 200 OK
Content-Type: application/json
{
"devices" : [ {
"app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka",
"app_name" : "testAPP01",
"device_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
"node_id" : "ABC123456789",
"gateway_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
"device_name" : "dianadevice",
"node_type" : "ENDPOINT",
"description" : "watermeter device",
"fw_version" : "1.1.0",
"sw_version" : "1.1.0",
"product_id" : "b640f4c203b7910fc3cbd446ed437cbd",
"product_name" : "Thermometer",
"status" : "INACTIVE",
"tags" : [ {
"tag_key" : "testTagName",
"tag_value" : "testTagValue"
} ]
} ],
"page" : {
"count" : 100,
"marker" : "5c8f3d2d3df1f10d803adbda"
}
}
错误码
|
HTTP状态码 |
错误码 |
错误码英文描述 |
错误码中文描述 |
处理建议 |
|---|---|---|---|---|
|
400 |
IOTDA.000009 |
Invalid input. Invalid time format. |
时间的格式不正确 |
请排查请求参数中时间的格式是否与文档中的保持一致。 |
|
IOTDA.000010 |
Invalid input. The start time must be earlier than the end time. |
请求中的开始时间大于结束时间 |
请求中开始时间必须早于结束时间。 |
|
|
IOTDA.000011 |
Invalid input. The specified parameter 'pageNo' is out of range. |
请求参数中pageNo超出范围 |
请排查请求参数中的pageNo大小是否在文档限制范围之内。 |
|
|
IOTDA.000012 |
Invalid input. The specified parameter 'pageSize' is out of range. |
请求参数中pageSize超出范围 |
请排查请求参数中的pageSize大小是否在文档限制范围之内。 |
|
|
IOTDA.000013 |
Invalid input. The parameter 'pageSize' multiply 'pageNo' exceeds the upper limit. |
查询范围查过最大限制。 |
请检查pageSize和pageNo参数的大小。 |
|
|
IOTDA.000014 |
Invalid input. The specified parameter 'nextToken' is out of range. |
请求中nextToken参数超过范围 |
请排查请求中的nextToken参数是否在文档的限制范围之内。 |
|
|
403 |
IOTDA.000022 |
Operation not allowed. The user does not have the permission |
该用户没有权限 |
请排查该用户是否有权限访问。 |
|
IOTDA.001000 |
The application does not exist. |
该应用不存在 |
请确定是否已在平台注册应用并检查应用ID是否正确。 |
|
|
IOTDA.001002 |
Operation not allowed. The application has not been authorized. |
该应用没有权限访问 |
请检查该应用是否已被授权。 |
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.