当您需要在物联网平台搜索并下载指定条件的设备列表(包含ProductKeyDeviceName)时,可以使用高级搜索功能,通过类SQL语句快速搜索满足指定条件的设备,例如在线设备。本文介绍高级搜索操作,以及使用的类SQL语法。

使用限制

  • 支持地域:华东2(上海)、日本(东京)
  • 功能限制:在公共实例的设备管理 > 设备页面不支持高级搜索

使用场景

物联网平台控制台的以下使用场景支持高级搜索:

  • 管理设备:在设备管理 > 设备页面的高级搜索页签,从设备列表搜索出指定设备进行管理。

您也可以调用QueryDeviceBySQL API进行设备高级搜索。使用API进行高级搜索时,不局限于以上控制台使用场景。

操作步骤

本文以使用高级搜索功能向设备分组添加设备、在设备管理中通过物模型搜索设备为例,介绍物联网平台控制台的设备高级搜索操作。

  1. 登录物联网平台控制台
  2. 实例概览页面,找到对应的实例,单击实例进入实例详情页面。
    注意 目前华东2(上海)、日本(东京)地域开通了企业版实例服务。其他地域,请跳过此步骤。
    实例概览
  3. 在左侧导航栏,选择设备管理 > 设备,单击高级搜索页签。
  4. 高级搜索页签,通过高级搜索功能,搜索符合条件设备。
    高级搜索

类SQL语法说明

在控制台使用高级搜索功能时,类SQL语句由WHERE子句、ORDER BY子句(可选)组成,省略SELECT子句、LIMIT子句以及WHERE子句的WHERE。长度限制为400个字符。

示例:

product_key = "a1*****" order by active_time

WHERE子句

格式:

[condition1] AND [condition2] 

省略WHERE

最多使用5个condition,且不支持嵌套,请参见下面的检索字段说明、运算符说明。

连接词支持AND、OR,最多使用5个连接词。

ORDER BY子句(可选)

ORDER BY子句用来实现自定义排序,可自定义排序的字段包括gmt_creategmt_modifiedactive_time

该子句可不填,不填时随机排序。

检索字段说明

字段名 类型 说明
product_key text 设备所属产品ProductKey
iot_id text 设备标识符。默认返回iot_id
name text 设备名称。
active_time date 设备激活时间。格式为yyyy-MM-dd HH:mm:ss.SSS,精确到毫秒。
nickname text 设备备注名称。
gmt_create date 设备创建时间。格式为yyyy-MM-dd HH:mm:ss.SSS,精确到毫秒。
gmt_modified date 设备信息最后一次更新时间。格式为yyyy-MM-dd HH:mm:ss.SSS,精确到毫秒。
status text 设备状态,取值:
  • ONLINE:在线
  • OFFLINE:离线
  • UNACTIVE:未激活
  • DISABLE:已禁用
group.group_id text 设备分组ID。
tag.tag_name text 设备标签名。
tag.tag_value text 设备标签值。
ota_module.name text OTA模块名称。

建议与ota_module.version配合使用,用于指定设备当前OTA版本号对应的OTA模块。

ota_module.version text 设备当前OTA版本号。

建议与ota_module.name配合使用。

运算符说明

运算符 支持的字段数值类型
= number、date、text、keyword
> number、date
< number、date
LIKE text

其中,LIKE支持前缀匹配,不支持后缀匹配或通配符匹配。前缀必须满足以下条件:

  • 前缀不得少于4个字符,且不能包含任何特殊字符,例如反斜线(\)、正斜线(/)、and(&)、加号(+)、短划线(-)、感叹号(!)、半角圆括号(())、半角冒号(:)、波浪线(~)、方括号([])、大括号({})、星号(*)、半角问号(?)等。
  • 前缀填写完成后,必须固定以%结尾。

示例:

product_key = "a1*********" and name LIKE "test%"