更新时间:2024-08-21 GMT+08:00

设备高级搜索

概述

在海量设备场景下,您可以通过高级搜索功能,通过类SQL语句快速组装灵活的检索条件搜索满足条件的设备,例如:通过前缀模糊搜索设备名称、标签搜索在线设备列表等。本文将介绍高级搜索操作方式以及类SQL语法使用。

使用限制

  • 仅标准版实例支持该接口调用,基础版、企业版实例不支持。
  • 单账号调用该接口的 TPS 限制最大为1/S(每秒1次请求数)。

使用场景

设备检索:在所有设备-设备列表界面通过类SQL语句方式,检索指定的设备进行后续管理操作。

设备动态分组:通过设备动态分组的类SQL语句规则,过滤出来符合条件的设备自动加入到群组进行管理。

操作步骤

  1. 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。
  2. 在设备接入控制台左侧导航栏,选择设备 > 所有设备,进入设备列表页,设备列表默认显示当前实例下的所有设备。
  3. 单击“高级搜索”按钮,输入类SQL语句,单击“搜索”展示搜索条件下的设备列表。

    图1 设备-高级搜索

类SQL语法使用说明

控制台使用类SQL语句时需要省略select、from、order by、limit子句,仅输入where子句编辑自定义条件即可,长度限制为400个字符,子句里的内容大小写敏感,SQL语句的关键字大小写不敏感;控制台默认按照marker字段desc方式排序;

where子句格式:

[condition1] AND [condition2]

示例:

product_id = 'testProductId'

最多支持5个condition,不支持嵌套;支持的检索字段请参见表1表2

连接词支持AND、OR,优先级参考标准SQL语法,默认AND优先级高于OR。

表1 搜索条件字段说明

字段名

类型

说明

取值范围

app_id

string

资源空间ID

长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。

device_id

string

设备ID

长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。

gateway_id

string

网关ID

长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。

product_id

string

设备关联的产品ID

长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。

device_name

string

设备名称

长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。

node_id

string

设备标识码

长度不超过64,只允许字母、数字、下划线(_)、连接符(-)的组合。

status

string

设备的状态

ONLINE(在线)、OFFLINE(离线)、ABNORMAL(异常)、INACTIVE(未激活)、FROZEN(冻结)

node_type

string

设备节点类型

GATEWAY(直连设备或网关)、ENDPOINT(非直连设备)

tag_key

string

标签键

长度不超过64,只允许中文、字母、数字、以及_.-等字符的组合。

tag_value

string

标签值

长度不超过128,只允许中文、字母、数字、以及_.-等字符的组合。

sw_version

string

软件版本

长度不超过64,只允许字母、数字、下划线(_)、连接符(-)、英文点(.)的组合。

fw_version

string

固件版本

长度不超过64,只允许字母、数字、下划线(_)、连接符(-)、英文点(.)的组合。

group_id

string

群组id

长度不超过36,十六进制字符串和连接符(-)的组合。

create_time

string

设备注册时间

格式:yyyy-MM-dd'T'HH:mm:ss.SSS'Z',如:2015-06-06T12:10:10.000Z。

marker

string

结果记录ID

长度为24的十六进制字符串,如ffffffffffffffffffffffff。

表2 支持的运算符

运算符

支持的字段

=

所有

!=

所有

>

create_time、marker

<

create_time、marker

like

device_name、node_id、tag_key、tag_value

in

除tag_key、tag_value以外字段

not in

除tag_key、tag_value以外字段

SQL 限制

  • like:只支持前缀匹配,不支持后缀匹配或者通配符匹配。前缀匹配不得少于4个字符,且不能包含任何特殊字符(只允许中文、字母、数字、下划线(_)、连接符(-)),前缀后必须跟上“%”结尾。
  • 不支持其他SQL用法,如嵌套SQL、union、join、别名(Alias)等用法。
  • SQL长度限制为400个字符,单个请求条件最大支持5个。
  • 不支持“null”和空字符串等条件值匹配。

相关API接口:

灵活搜索设备列表