當您需要在物聯網平臺搜索并下載指定條件的設備列表(包含ProductKey和DeviceName)時,可以使用高級搜索功能,通過類SQL語句快速搜索滿足指定條件的設備,例如在線設備。本文介紹高級搜索操作,以及使用的類SQL語法。
使用限制
支持地域:華東2(上海)、華北2(北京)、華南1(深圳)。
功能限制:
舊版公共實例:不支持通過物模型搜索設備和下載設備文件。
企業版實例和新版公共實例:僅華東2(上海)地域下,高級搜索中通過物模型搜索設備的功能,僅可在 頁面的高級搜索頁簽使用。
使用物模型搜索功能,需先配置物模型索引,然后物聯網平臺基于設備運行時數據,檢索設備最近一次上報的屬性數據,搜索出符合條件設備。
重要一個企業版實例下,最多可配置100個物模型屬性的索引。
MQTT型企業版實例下不支持高級搜索功能。
應用場景
物聯網平臺控制臺的以下使用場景支持高級搜索:
您也可以調用QueryDeviceBySQL API進行設備高級搜索。使用API進行高級搜索時,不局限于以上控制臺使用場景。
操作步驟
本文以使用高級搜索功能向設備分組添加設備、在設備管理中通過物模型搜索設備為例,介紹物聯網平臺控制臺的設備高級搜索操作。
登錄物聯網平臺控制臺。
在實例概覽頁簽的全部環境下,找到對應的實例,單擊實例卡片。
通過高級搜索功能,搜索符合條件設備。
在左側導航欄,選擇 。在分組頁面,單擊已創建分組對應的查看。
在分組詳情頁面,單擊 。在添加設備到分組面板,開啟右上角高級搜索開關。
在搜索框中輸入搜索條件的語句,單擊搜索圖標。
搜索條件語句語法的更多信息,請參見類SQL語法說明。
列表顯示搜索結果,搜索框右側顯示下載圖標。
您可單擊下載圖標,獲取已搜索設備的列表文件,格式為CSV。
通過物模型搜索設備。
在左側導航欄,選擇 ,單擊高級搜索頁簽。
在高級搜索頁簽,單擊通過物模型數據搜索右側的配置索引。
在物模型索引配置面板,選擇產品和物模型模塊,然后選中待索引屬性,單擊確定。
說明配置屬性索引后,最多一分鐘即可生效。
配置屬性索引后,如果您刪除了產品下該物模型屬性,仍可基于該屬性最近一次上報數據檢索設備。
在搜索框中輸入物模型索引條件,單擊搜索。
您可在通過物模型數據搜索下方,單擊復制property.floatText > 11或property.module.floatText > 11,然后將floatText替換為已配置索引的屬性標識符;module替換為對應的自定義模塊標識符;11替換為您要搜索的條件值。
重要條件值的數據類型必須與物模型屬性的數據類型保持一致。
例如,物模型屬性Temperature(溫度)為Double類型,需要搜索上報溫度值大于11的設備,條件值必須設置11.0,否則無法進行搜索。
在高級搜索頁簽,顯示搜索結果。如果有滿足條件的設備,您可單擊下載搜索結果,獲取已搜索設備的列表文件,格式為CSV。
可選:如果您需要取消屬性的索引能力,在高級搜索頁簽,單擊重置,回到搜索頁面。然后單擊配置索引,進入物模型索引配置面板。
您可先選擇產品和物模型模塊,或單擊右上角已選擇,然后取消選中的目標屬性,單擊確定。
如果產品下已刪除屬性,您可在已選擇列表,找到要取消索引的屬性。
重要任何情況下,如果您取消了屬性的索引能力,都不再支持通過該屬性搜索設備。
取消屬性索引,會清空該屬性的歷史搜索數據。如果累計歷史數據過多,清空操作會花費時間,屬性索引狀態不會立刻取消,即您重新打開物模型索引配置面板,該屬性可能仍處于選中狀態。此時,請您耐心等待,不可重復刪除操作。
類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_create、gmt_modified、active_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 | 設備狀態,取值:
|
property.floatText | text | 物模型屬性標識符。
僅企業版實例下 頁面的高級搜索頁簽支持該字段檢索。 |
property.module.floatText | text | |
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%"
相關API
QueryDeviceBySQL:通過類SQL語句快速搜索滿足指定條件的設備。