Search Asset Tree


搜索符合条件的资产树。

如果你在使用 API 批量更新相关资产树信息后调用当前 API,建议两次调用间隔 2 秒左右,以免获取到未更新数据。

请求格式

POST https://{apigw-address}/asset-tree-service/v2.1/asset-trees?action=search

请求参数(URI)

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

资产所属的组织 ID。如何获取 orgId 信息>>

请求参数(body)

备注

可使用 expressionfilter 进行搜索,但不能同时使用。EnOS Cloud 仅支持 expression 进行搜索,EnOS Edge 则支持 expressionfilter.


名称

必需/可选

数据类型

描述

expression

可选

String

查询表达式,目前查询的字段和对应的运算符清单如下。

  • treeId:支持 in 和 =。

  • tags:支持 =、!= 和 exist。

  • name:支持指定语言模糊查询:

    • name like 'xxx':模糊查询 default、中文和英文名称。

    • name.default like 'xxx':模糊查询默认名称。

    • name.zh_CN like 'xxx':模糊查询中文名称,不存在中文名称时模糊查询 default 名称。

    • name.en_US like 'xxx':模糊查询英文名称,不存在英文名称时模糊查询 default 名称。

    • name.ja_JP like 'xxx':模糊查询日文名称,不存在日文名称时模糊查询 default 名称。

    • name.es_ES like 'xxx':模糊查询西班牙文名称,不存在西班牙文名称时模糊查询 default 名称。

不能将其与 filter 一起使用。如何使用查询表达式>>

filter

可选

Filter 结构体

资产树需要满足的条件。支持对 tags 的搜索。缺省则返回所有的资产树,不能将其与 expression 一起使用。其结构参见 Filter 结构体

注:EnOS Cloud 不支持该参数。

pagination

可选

Pagination 请求结构体

用于在接口请求中描述分页要求。如未指定,默认每页 100 条。每页最大记录数为 1000 条,但为获得最佳性能,建议每页不超过 50 条。不支持使用 sorters 参数对结果进行排序。其结构参见 Pagination 请求结构体

projection

可选

Projection 结构体

指定对返回结果的裁剪。对于符合条件的搜索仅返回符合条件的字段,不设置则默认返回全部字段。Projection 参数如何对结果集做裁剪>>

Filter 结构体

名称

必需/可选

数据类型

描述

tags

可选

Map (Key 和 Value 为 String)

用户自定义标签。标签的作用与表示方法>>

响应参数

名称

数据类型

描述

data

AssetTree 结构体数组

基于 assetId 的资产树信息。有关 AssetTree 结构体的定义,参见下表。

AssetTree 结构体

名称

数据类型

描述

treeId

String

资产树 ID

name

StringI18n

支持国际化的资产树名称。国际化名称结构体>>

tags

Tag 结构体

用户自定义的一组资产树标签。

asset

Asset 结构体

资产树的根资产。其结构参见 Asset 结构体

示例

请求示例

url: https://{apigw-address}/asset-tree-service/v2.1/asset-trees?action=search&orgId=yourOrgId
method: POST
requestBody:
{
"expression":"tags.k1 ='v1' ",
"pagination": {
  "pageNo": 1,
  "pageSize": 10
},
"projection": ["asset"]
}

返回示例

{
    "code":0,
    "msg":"OK",
    "requestId":"82248518-6da4-49d2-8d07-cf7a0ff55b60",
    "data":[
    {
      "treeId":"yourTreeId",
      "tags":{

      },
      "asset":{
        "modelId":"yourModelId",
        "assetId":"yourAssetId",
        "timezone":"+08:00",
        "name":{
          "i18nValue":{
            "en_US":"zmTree604111zzz"
          },
          "defaultValue":"zmTree604"
        },
        "description":"",
        "attributes":{

        },
        "inValid":false,
        "label":"1",
        "modelIdPath":"/NULLMODEL",
        "tags":{

        }
      }
    }
  ]
}

SDK 示例


你可以在 Github 上获取资产树服务 API 的 SDK 示例: