Search Asset Node


查询满足条件的资产。

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

请求格式

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

请求参数(URI)

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

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

请求参数(Body)

备注

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


名称

必需/可选

数据类型

描述

expression

可选

String

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

  • assetIdmodelIdrootModelIdtreeId:支持 in 和 =。

  • assetIdsmodelIdsrootModelIds:支持 in。

  • productKeydeviceKeyattributes:支持 like 和 =。

  • createTime:支持 =、<=、>= 运算符。筛选的是 asset 的创建时间

  • tags.*:支持 like、exists 和 in。

  • 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

可选

AssetSearchVo 结构体

查询条件。不能将其与 expression 一起使用。其结构参见 AssetSearchVo 结构体

注:EnOS Cloud 不支持该参数。

pagination

可选

Pagination 请求结构体

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

projection

可选

Projection 结构体

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

注:EnOS Edge 不支持该参数。

AssetSearchVo 结构体

名称

必需/可选

数据类型

描述

assetIds

可选

String Array

资产列表。

modelIds

可选

String Array

模型列表。

rootModelIds

可选

String Array

根模型列表。

attributes

可选

Map (Key 为 String,Value 为 Object)

资产所属的模型属性。

tags

可选

Map (Key 和 Value 为 String)

用户自定义标签。

nameLike

可选

I18nSearchVo 结构体

资产名称,支持模糊搜索。其结构参见 I18nSearchVo 结构体

treeId

可选

String

资产树的 ID。

I18nSearchVo 结构体

名称

必需/可选

数据类型

描述

locale

可选

String

语言类型,只支持 default、zh_CN、en_US、ja_JP 和 es_ES。

value

可选

String

资产名称在所属语言下的值。如果为 null,则无数据返回;如果传入空字符串,则返回对应语言下的所有数据。

响应参数

名称

数据类型

描述

data

数组

资产列表。信息包括来自 Asset 结构体assetIdnameattributes

错误码

代码

错误信息

描述

99400

Invalid arguments

请求参数非法,请检查请求参数。

99500

System error

服务器内部错误,请联系EnOS。

示例

请求示例

url: https://{apigw-address}/asset-tree-service/v2.1/asset-nodes?action=searchAsset&orgId=yourOrgId
method: POST
requestBody:
{
"projection": ["attributes", "assetId", "name"]
}

返回示例

{
    "code": 0,
    "msg": "OK",
    "requestId": "cf08e75c-325a-429f-bdb9-ec5d6a1250d7",
    "pagination": {
       "pageNo": 1,
       "pageSize": 10,
       "totalSzie": 10,
       "sortedBy": null
    },
    "data": [{
       "assetId": "yourAssetId1",
       "name": {
           "i18nValue": {},
           "defaultValue": "earth"
       },
       "attributes": {
           "starsystem": "Solar System",
           "de001": 123
       }
    }, {
       "assetId": "yourAssetId2",
       "name": {
           "i18nValue": {},
           "defaultValue": "earth"
       },
       "attributes": {
           "starsystem": "Solar System",
           "de001": 123
       }
    }, {
       "assetId": "yourAssetId3",
       "name": {
           "i18nValue": {},
           "defaultValue": "earth"
       },
       "attributes": {
           "starsystem": "Solar System",
           "de001": 123
       }
    }, {
       "assetId": "yourAssetId4",
       "name": {
           "i18nValue": {},
           "defaultValue": "venus"
       },
       "attributes": {
           "starsystem": "Solar System",
           "de001": 123
       }
    }, {
       "assetId": "yourAssetId5",
       "name": {
           "i18nValue": {},
           "defaultValue": "1559140566137"
       },
       "attributes": {
           "starsystem": "Solar System",
           "de001": 123
       }
    }, {
       "assetId": "yourAssetId6",
       "name": {
           "i18nValue": {},
           "defaultValue": "earth"
       },
       "attributes": {
           "starsystem": "Solar System",
           "de001": 123
       }
    }, {
       "assetId": "yourAssetId7",
       "name": {
           "i18nValue": {},
           "defaultValue": "earth"
       },
       "attributes": {
           "starsystem": "Solar System",
           "de001": 123
       }
    }]
}

SDK 示例


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