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

说明

仅支持在华东2(上海)、华北2(北京)、华南1(深圳)地域企业版实例中进行设备高级搜索。

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

  • 设备管理 > 设备页面,从设备列表搜索出指定设备进行管理。具体操作,请参见管理设备
  • 在向设备分组添加设备时,搜索待添加的设备。具体操作,请参见设备分组
  • 在验证OTA升级包、创建批量升级批次时,搜索待升级的设备。具体操作,请参见推送升级包到设备端

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

操作步骤

下面以选择要向设备分组添加设备时的高级搜索为例,介绍控制台的设备高级搜索操作。

  1. 进入如下图所示的设备选择页面。具体操作,请参见设备分组
    设备选择页面
  2. 打开右上角高级搜索开关。
  3. 在搜索框中输入条件搜索语句,单击搜索按钮,列表显示搜索结果。
    条件搜索语句语法的更多信息,请参见类SQL语法说明搜索

类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.module_name text OTA模块名称。

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

不可指定为default模块。

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

必须与ota_module.module_name配合使用。

运算符说明

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

其中,LIKE支持前缀匹配,不支持后缀匹配或通配符匹配,且前缀不得少于4个字符,前缀固定以%结尾。

示例:

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