- 文档
- 资产树节点
- 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 条。不支持使用 sorters 参数对结果进行排序。其结构参见 Pagination 请求结构体。 |
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 | true 为无效节点,false 为有效节点。 |
attributes | Map(Key 为 String,Value 为 Object) | 资产所属的模型属性。 |
tags | Map(Key 为 String, Value 为 String) | 用户自定义标签。标签的作用与表示方法>> |
childAssetNodeCount | Integer | 有效的子节点个数。只有选择了 isParentOfAssetId 、isChildOfAssetId 、isAncestorOfAssetId 或 isDescendantOfAssetId ,这个参数才会有值,否则这个值为 null。 |
错误码¶
代码 | 错误信息 | 描述 |
---|---|---|
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
}
}