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 |
资产所属的 OU ID。如何获取 orgId 信息>> |
treeId |
Query |
必需 |
String |
资产树 ID。如何获取 treeId 信息>> |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
pagination |
可选 |
Pagination 请求结构体 |
用于在接口请求中描述分页要求。如未指定,默认每页 100 条。每页最大记录数为 1000 条,但为获得最佳性能,建议每页不超过 50 条。不支持使用 |
projection |
可选 |
Projection 结构体 |
指定对返回结果的裁剪。对于符合条件的搜索仅返回符合条件的字段,不设置则默认返回全部字段。Projection 参数如何对结果集做裁剪>>
|
from |
可选 |
From-to 结构体 |
表示资产路径的起始点条件。如果不提供,则表示资产树的根节点。From-to 结构体>>。 |
to |
可选 |
From-to 结构体 |
表示资产路径的终止点条件。如果不提供,则表示资产树的最底层节点。From-to 结构体>> |
pathProjection |
可选 |
String |
可填 |
From-to 结构体 ¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
rootModelIds |
可选 |
String 数组 |
根模型 ID。指定根模型 ID 可以匹配资产树上所有继承该模型的资产。如果希望查询多条模型路径下的资产,就提供多个根模型 ID 组成的 List。 |
modelIds |
可选 |
String 数组 |
资产所属模型 ID,查询资产树上关联了该模型的资产。如果想查询多个模型关联的资产,就提供多个模型 ID 组成的 List。如何获取 modelId 信息>> |
assetIds |
可选 |
String 数组 |
资产 ID,查询特定 ID 的资产。如果希望查询多个资产,就提供多个资产 ID 组成的 List。如何获取 Asset ID 信息>> |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
assets |
Map (Key 为 String,Value 为 Asset 结构体) |
路径上的资产数据。Asset 结构体 |
assetPaths |
String 数组 |
当 |
pagination |
String |
请求中指定的分页方式,参见 Pagination 请求结构体。其中 |
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":[
"yourAssetId2"
]
}
}
返回示例¶
{
"code": 0,
"msg": "OK",
"requestId": "94347fc1-4b3c-447b-b542-03fa68a1a88f",
"data": {
"assetPaths": [
[
"yourAssetId1",
"yourAssetId2"
]
],
"assets": {
"yourAssetId1": {
"inValid": false,
"assetId": "yourAssetId1",
"modelId": "extend_model",
"modelIdPath": "/copy_model/extend_model",
"name": {
"defaultValue": "abc",
"i18nValue": {
"en_US": "abc"
}
},
"timezone": "+09:00",
"description": "desc",
"label": "1",
"attributes": {
"invType": 1,
"capacity": 5.0
},
"tags": {
}
},
"yourAssetId2": {
"inValid": false,
"assetId": "yourAssetId2",
"modelId": "planet",
"modelIdPath": "/planet",
"name": {
"defaultValue": "abc",
"i18nValue": {
"en_US": "abc"
}
},
"timezone": "+08:00",
"description": "xyz",
"label": "1",
"attributes": {
"starsystem": "xyz",
"de001": 123
},
"tags": {
}
}
}
},
"pagination": {
"pageNo": 1,
"pageSize": 10,
"totalSize": 1
}
}
SDK 示例¶
你可以在 Github 上获取资产树服务 API 的 SDK 示例: