Get Asset Trees


根据一组 assetId 搜索资产所在的资产树。若 assetId 不在树上,则 data 中无该 key。

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

请求格式

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

请求参数(URI)

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

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

请求参数(Body)

名称

必需/可选

数据类型

描述

assetIds

必需

String 数组

一组资产 ID,最多 100 个。如何获取 Asset ID 信息>>

projection

可选

Projection 结构体

指定对返回结果的裁剪。对于符合条件的搜索仅返回符合条件的字段,不设置则默认返回全部字段。指定一个字段时,使用格式 *.[*].参数。例如,*.[*].treeId

Projection 参数如何对结果集做裁剪>>

注:EnOS Edge 不支持该参数。

响应参数

名称

数据类型

描述

data

Map(Key 为 assetId,Valu 为 AssetTree 结构体 Array)

资产和其所在的资产树列表。AssetTree 结构体>>

AssetTree 结构体

名称

数据类型

描述

treeId

String

资产树ID。

tags

Map(Key 为 String, Value 为 String)

用户自定义的一组资产树标签。标签的作用与表示方法>>

asset

Asset 结构体

资产树上的根资产。

错误码

代码

错误信息

描述

99400

Invalid arguments

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

99500

System error

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

示例

请求示例

url: https://{apigw-address}/asset-tree-service/v2.1/asset-nodes?action=getAssetTree&orgId=yourOrgId
method: POST
requestBody:
{
 "assetIds": ["yourAssetId1", "yourAssetId2"]
}

返回示例

{
 "code": 0,
 "msg": "OK",
 "requestId": "82248518-6da4-49d2-8d07-cf7a0ff55b60",
 "data": {
 "BtsYmF2r" : [{
   "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 示例: