Search Asset Path¶
查询资产树上符合条件的路径,路径是从一个上级资产节点到一个下级资产节点的完整路径,可以包含中间经过的资产节点。
如果你在使用 API 批量更新相关资产树信息后调用当前 API,建议两次调用间隔 2 秒左右,以免获取到未更新数据。
请求格式¶
POST https://{apigw-address}/asset-tree-service/v2.1/asset-paths?action=search
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织 ID。如何获取 orgId 信息>> |
treeId |
Query |
必需 |
String |
资产树 ID。 |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
pagination |
可选 |
Pagination 请求结构体 |
用于在接口请求中描述分页要求。如未指定,默认每页 100 条。每页最大记录数为 1000 条,但为获得最佳性能,建议每页不超过 50 条。不支持使用 |
from |
可选 |
From-to 结构体 |
表示资产路径的起始点条件。如果不提供,则表示资产树的根节点。From-to 结构体>>。 |
to |
可选 |
From-to 结构体 |
表示资产路径的终止点条件。如果不提供,则表示资产树的叶子节点。From-to 结构体>> |
projection |
可选 |
Projection 结构体 |
指定对返回结果的裁剪。对于符合条件的搜索仅返回符合条件的字段,不设置则默认返回全部字段。Projection 参数如何对结果集做裁剪>>
|
pathProjection |
可选 |
String |
可填COMPLETE、END_NODE_ONLY。COMPLETE 表示返回路径上的每个资产节点,默认为 COMPLETE;END_NODE_ONLY 表示只返回路径的起始点和终结点。 |
From-to 结构体 ¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
rootModelIds |
可选 |
String 数组 |
根模型 ID,如果希望查询多个根模型就提供多个根模型 ID。 |
modelIds |
可选 |
String 数组 |
资产所属模型 ID。如果想查询多个模型,就提供多个模型 ID 组成的 List。如何获取 modelId 信息>> |
assetIds |
可选 |
String 数组 |
资产 ID,如果希望查询多个资产就提供多个资产ID。如何获取 Asset ID 信息>> |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
assets |
Map (Key 为 String,Value 为 Asset 结构体) |
路径上的资产数据。Asset 结构体的结构见下表。 |
assetPaths |
String 数组 |
当 pathProjection 参数为 COMPLETE 时,其中每一个 String Array 为路径上起始到终止节点的每个资产 ID,长度大于等于2。 当 pathProjection 参数为 |
Asset 结构体¶
名称 |
数据类型 |
描述 |
---|---|---|
assetId |
String |
资产 ID。 |
name |
StringI18n |
该资产的各语言名称。 |
description |
String |
资产描述。 |
attributes |
Map |
资产所属的模型属性。 |
timezone |
String |
时区。 |
modelId |
String |
资产所属模型 ID。 |
modelIdPath |
String |
模型 ID 路径。 |
tags |
Tag 结构体 |
用户自定义标签。 |
inValid |
Boolean |
节点是否有效。 |
label |
String |
资产标签。 |
示例 1¶
请求示例¶
url: https://{apigw-address}/asset-tree-service/v2.1/asset-paths?treeId=yourTreeId&action=search&orgId=yourOrgId
method: POST
requestBody:
{
"pagination":{
"pageNo":1,
"pageSize":10
},
"projection":[
"assets.*.attributes",
"assetPaths"
]
}
返回示例¶
{
"code": 0,
"msg": "OK",
"requestId": "381ffc90-ee96-45a9-bbf4-8f82efed9823",
"data": {
"assets": {
"yourAssetId1": {
"attributes": {
"starsystem": "sss",
"de001": 123
}
},
"yourAssetId2": {
"attributes": {
}
},
"yourAssetId3": {
"attributes": {
}
},
"yourAssetId4": {
"attributes": {
}
}
},
"assetPaths": [
[
"yourAssetId4",
"yourAssetId1",
"yourAssetId3"
],
[
"yourAssetId4",
"yourAssetId2"
]
]
},
"pagination": {
"sortedBy": null,
"pageNo": 1,
"pageSize": 10,
"totalSize": 2
}
}
示例 2¶
请求示例¶
url: https://{apigw-address}/asset-tree-service/v2.1/asset-paths?treeId=yourTreeId&action=search&orgId=yourOrgId
method: POST
requestBody:
{
"pagination":{
"pageNo":1,
"pageSize":10
},
"from":{
"modelIds":[
"extend_model"
]
},
"to":{
"assetIds":[
"MkblvAJ5"
]
}
}
返回示例¶
{
"code": 0,
"msg": "OK",
"requestId": "94347fc1-4b3c-447b-b542-03fa68a1a88f",
"data": {
"assetPaths": [
[
"yourAssetId1",
"yourAssetId2"
]
],
"assets": {
"DWJdfX3D": {
"inValid": false,
"assetId": "yourAssetId1",
"modelId": "extend_model",
"modelIdPath": "/copy_model/extend_model",
"name": {
"defaultValue": "hahha",
"i18nValue": {
"en_US": "hahha"
}
},
"timezone": "+09:00",
"description": "eeeeee",
"label": "1",
"attributes": {
"invType": 1,
"capacity": 5.0
},
"tags": {
}
},
"MkblvAJ5": {
"inValid": false,
"assetId": "yourAssetId2",
"modelId": "planet",
"modelIdPath": "/planet",
"name": {
"defaultValue": "lkkkkk",
"i18nValue": {
"en_US": "lkkkkk"
}
},
"timezone": "+08:00",
"description": "huyyyyy",
"label": "1",
"attributes": {
"starsystem": "yyyy",
"de001": 123
},
"tags": {
}
}
}
},
"pagination": {
"pageNo": 1,
"pageSize": 10,
"totalSize": 1
}
}
SDK 示例¶
你可以在 Github 上获取资产树服务 API 的 SDK 示例: