设备高级搜索
概述
在海量设备场景下,您可以通过高级搜索功能,通过类SQL语句快速组装灵活的检索条件搜索满足条件的设备,例如:通过前缀模糊搜索设备名称、标签搜索在线设备列表等。本文将介绍高级搜索操作方式以及类SQL语法使用。
使用限制
- 仅标准版实例支持该接口调用,基础版、企业版实例不支持。
- 单账号调用该接口的 TPS 限制最大为1/S(每秒1次请求数)。
使用场景
设备检索:在所有设备-设备列表界面通过类SQL语句方式,检索指定的设备进行后续管理操作。
设备动态分组:通过设备动态分组的类SQL语句规则,过滤出来符合条件的设备自动加入到群组进行管理。
操作步骤
- 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。
- 在设备接入控制台左侧导航栏,选择 ,进入设备列表页,设备列表默认显示当前实例下的所有设备。
- 单击“高级搜索”按钮,输入类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。
字段名 |
类型 |
说明 |
取值范围 |
---|---|---|---|
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。 |
运算符 |
支持的字段 |
---|---|
= |
所有 |
!= |
所有 |
> |
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”和空字符串等条件值匹配。