- 文档
- 资产树节点
- Search Related Asset Node
Search Related Asset Node¶
查询指定资产树上的资产,指定相对于某个已知资产的关系作为查询条件。
如果你在使用 API 批量更新相关资产树信息后调用当前 API,建议两次调用间隔 2 秒左右,以免获取到未更新数据。
请求格式¶
POST https://{apigw-address}/asset-tree-service/v2.1/asset-nodes?action=searchRelatedAsset
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织 ID。如何获取 orgId 信息>> |
treeId |
Query |
必需 |
String |
需要获取的资产树 ID。如何获取资产树信息 ID>> |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
filter |
可选 |
Filter 结构体 |
资产的查询条件。 所有的条件都是可选的。 所有指定的条件之间都是“与”关系,即待查询的资产必须同时满足所有指定的条件。 4 个关系查询条件至多提供一个,其结构参见 Filter 结构体。 |
pagination |
可选 |
Pagination 请求结构体 |
用于在接口请求中描述分页要求。如未指定,默认每页 100 条。每页最大记录数为 1000 条,但为获得最佳性能,建议每页不超过 50 条。不支持使用 |
projection |
可选 |
Projection 结构体 |
指定对返回结果的裁剪。对于符合条件的搜索仅返回符合条件的字段,不设置则默认返回全部字段。Projection 参数如何对结果集做裁剪>> |
Filter 结构体 ¶
备注
isParentOfAssetId
、isChildOfAssetId
、isAncestorOfAssetId
和 isDescendantOfAssetId
不能同时填写多个,每次查询最多支持 1 个。
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
assetIds |
可选 |
String 数组 |
资产ID。如果想查询多个资产,就提供多个资产ID。如何获取 assetId 信息>> |
nameLike |
可选 |
I18nSearchVo 结构体 |
资产名称,支持模糊搜索。其结构参见 I18nSearchVo 结构体。 |
modelIds |
可选 |
String 数组 |
资产所属模型ID。如果想查询多个模型,就提供多个模型 ID。如何获取 modelId 信息>> |
rootModelIds |
可选 |
String 数组 |
资产所属的根模型 ID。如果想查询多个根模型,就提供多个根模型 ID。 |
isParentOfAssetId |
可选(见上述注解) |
String |
待查询的资产是指定资产的直接父节点,值为指定资产的资产 ID。如何使用查询表达式>> |
isChildOfAssetId |
可选(见上述注解) |
String |
待查询的资产是指定资产的直接子节点,值为指定资产的资产 ID。如何使用查询表达式>> |
isAncestorOfAssetId |
可选(见上述注解) |
String |
待查询的资产是指定资产的祖先节点,值为指定资产的资产 ID。如何使用查询表达式>> |
isDescendantOfAssetId |
可选(见上述注解) |
String |
待查询的资产是指定资产的子孙节点,值为指定资产的资产 ID。如何使用查询表达式>> |
I18nSearchVo 结构体 ¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
locale |
可选 |
String |
语言类型,只支持 default、zh_CN、en_US、ja_JP 和 es_ES。 |
value |
可选 |
String |
资产名称在所属语言下的值。如果为 null,则无数据返回;如果传入空字符串,则返回对应语言下的所有数据。 |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
data |
AssetVo 结构体数组 |
AssetVo 的列表。其结构参见 AssetVo 结构体。 |
AssetVo 结构体 ¶
名称 |
数据类型 |
描述 |
---|---|---|
assetId |
String |
资产 ID。 |
modelId |
String |
资产所属模型 ID。 |
modelIdPath |
String |
模型 ID 的路径。 |
name |
StringI18n |
支持国际化的资产名称。其结构参见 国际化名称结构体。 |
timezone |
String |
资产所属时区。 |
description |
String |
资产描述。 |
label |
String |
资产类型。
|
inValid |
Boolean |
|
attributes |
Map(Key 为 String,Value 为 Object) |
资产所属的模型属性。 |
tags |
Map(Key 为 String, Value 为 String) |
用户自定义标签。标签的作用与表示方法>> |
childAssetNodeCount |
Integer |
有效的子节点个数。只有选择了 |
错误码¶
代码 |
错误信息 |
描述 |
---|---|---|
99400 |
Invalid arguments |
请求参数非法,请检查请求参数。 |
99500 |
System error |
服务器内部错误,请联系 EnOS。 |
示例¶
请求示例¶
url: https://{apigw-address}/asset-tree-service/v2.1/asset-nodes?action=searchRelatedAsset&treeId=k6wweMTP&orgId=yourOrgId
method: POST
requestBody:
{
"filter": {
"isChildOfAssetId": "yourAssetId"
},
"projection": ["attributes", "assetId", "name", "childAssetNodeCount"]
}
返回示例¶
{
"code":0,
"msg":"OK",
"requestId":"153ad7a2-2ec1-41b0-b750-e4ea2ce2786c",
"data":[
{
"assetId":"yourAssetId1",
"name":{
"i18nValue":{
},
"defaultValue":"ycmdevice_1"
},
"attributes":{
},
"childAssetNodeCount": 6
},
{
"assetId":"yourAssetId2",
"name":{
"i18nValue":{
},
"defaultValue":"ycmdevice_3"
},
"attributes":{
},
"childAssetNodeCount": 2
},
{
"assetId":"yourAssetId3",
"name":{
"i18nValue":{
"en_US":"Rebecca_testSiteAPI3"
},
"defaultValue":"Rebecca_testSiteAPI3"
},
"attributes":{
},
"childAssetNodeCount": 3
},
{
"assetId":"yourAssetId4",
"name":{
"i18nValue":{
},
"defaultValue":"Rebecca_Service1"
},
"attributes":{
},
"childAssetNodeCount": 6
},
{
"assetId":"yourAssetId5",
"name":{
"i18nValue":{
},
"defaultValue":"ycmdevice_2"
},
"attributes":{
},
"childAssetNodeCount": 1
}
],
"pagination":{
"pageNo": 1,
"pageSize": 10,
"totalSize": 10,
"sortedBy": null
}
}
SDK 示例¶
你可以在 Github 上获取资产树服务 API 的 SDK 示例: