logo
报告安全问题
2.1.0
简体中文
menu
资产树服务 API

资产树服务 API

简介

  • 资产树服务概述

API 参考

  • 资产树
  • 资产树节点
    • Associate Asset
    • Create and Associate Asset
    • Delete Asset Node
    • Search Asset Node
    • Search Related Asset Node
      • 操作权限
      • 请求格式
      • 请求参数(URI)
      • 请求参数(Body)
        • Filter 结构体
        • I18nSearchVo 结构体
      • 响应参数
      • 示例
        • 请求示例
        • 返回示例
        • Java SDK调用示例
    • Get Asset Trees
    • Search Asset Path

其他参考

  • 有关 EnOS API
  • 如何调用 EnOS API
  • 有关资产树

最近更新 2024-08-06

可用的 EnOS 功能取决于 License 和账号权限。如果某些功能在你的环境中不可用,可咨询系统管理员。
  • 文档
  • 资产树节点
  • Search Related Asset Node
  • 编辑

Search Related Asset Node¶

查询指定资产树上的资产,指定相对于某个已知资产的关系作为查询条件。

操作权限¶

需授权的资源

所需操作权限

资产树管理

Read

请求格式¶

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请求结构体

用于在接口请求中描述分页要求。每页最大记录数为1000条。默认第一页,分页大小为100条记录。不支持使用 sorters 结构体对结果进行排序。见 Pagination请求结构体>>

projection

可选

Projection结构体

用于在接口请求中描述待返回的对象projection。详见 projection参数如何对结果集做裁剪>>

Filter 结构体 ¶

备注

isParentOfAssetId、isChildOfAssetId、isAncestorOfAssetId 和 isDescendantOfAssetId 不能同时填写多个,每次查询最多支持 1 个。


名称

必需/可选

数据类型

描述

assetIds

可选

String数组

资产ID。如果想查询多个资产,就提供多个资产ID。如何获取Asset ID信息>>

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。

value

可选

String

资产名称在所属语言下的值。如果为 null,则无数据返回;如果传入空字符串,则返回对于语言下的所有数据。

响应参数¶

名称

数据类型

描述

data

Asset 结构体数组

Asset 的列表。参见 Asset 结构体>>

示例¶

请求示例¶

url: https://{apigw-address}/asset-tree-service/v2.1/asset-nodes?treeId=k6wweMTP&action=searchRelatedAsset&orgId=yourOrgId
method: POST
requestBody:
{
 "filter": {
  "isChildOfAssetId": "4R6PbfVj"
 },
 "action": "searchRelatedAsset",
"projection": ["attributes", "assetId", "name"]
}

返回示例¶

{
    "code":0,
    "msg":"OK",
    "requestId":"153ad7a2-2ec1-41b0-b750-e4ea2ce2786c",
    "data":[
        {
            "assetId":"8byS3cuc",
            "name":{
                "i18nValue":{

                },
                "defaultValue":"ycmdevice_1"
            },
            "attributes":{

            }
        },
        {
            "assetId":"Fq5M1Y6E",
            "name":{
                "i18nValue":{

                },
                "defaultValue":"ycmdevice_3"
            },
            "attributes":{

            }
        },
        {
            "assetId":"nPQUW0Nr",
            "name":{
                "i18nValue":{
                    "en_US":"Rebecca_testSiteAPI3"
                },
                "defaultValue":"Rebecca_testSiteAPI3"
            },
            "attributes":{

            }
        },
        {
            "assetId":"oLrrH1uz",
            "name":{
                "i18nValue":{

                },
                "defaultValue":"Rebecca_Service1"
            },
            "attributes":{

            }
        },
        {
            "assetId":"vuT6x3Xl",
            "name":{
                "i18nValue":{

                },
                "defaultValue":"ycmdevice_2"
            },
            "attributes":{

            }
        }
    ],
    "pagination":{
        "pageNo":1,
        "pageSize":10,
        "totalSize":10,
        "sortedBy":null
    }
}

Java SDK调用示例¶

package com.envisioniot.enos.asset_tree_service;

import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envisioniot.enos.api.common.constant.request.Projection;
import com.envisioniot.enos.asset_tree_service.v2_1.*;
import com.envisioniot.enos.asset_tree_service.vo.AssetSearchVo;
import com.envisioniot.enos.asset_tree_service.vo.RelatedAssetSearchVo;
import org.junit.Test;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class SearchNodeTest {
    private static String AccessKey = "yourAccessKey";
    private static String SecretKey = "yourSecretKey";
    private static String OrgId = "yourOrgId";
    private static String ServerUrl = "yourServerUrl";


    @Test
    public void testSearchRelatedAssetNode() {
        SearchRelatedAssetNodeRequest request = new SearchRelatedAssetNodeRequest();
        request.setOrgId(OrgId);
        request.setTreeId("yourTreeId");
        RelatedAssetSearchVo filter = new RelatedAssetSearchVo();
        filter.setIsChildOfAssetId("yourAssetId");
        Projection onep = new Projection();
        onep.addAll(Arrays.asList("attributes", "assetId", "name"));
        request.setFilter(filter);
        request.setProjection(onep);
        request.setFilter(filter);
        SearchRelatedAssetNodeResponse response =
            Poseidon.config(PConfig.init().appKey(AccessKey).appSecret(SecretKey).debug()).url(ServerUrl)
            .getResponse(request, SearchRelatedAssetNodeResponse.class);
    }
}
Previous Next

预览:

0  字
评论
  • 按正序
  • 按倒序
来发评论吧~
本页内容
    • 操作权限
    • 请求格式
    • 请求参数(URI)
    • 请求参数(Body)
      • Filter 结构体
      • I18nSearchVo 结构体
    • 响应参数
    • 示例
      • 请求示例
      • 返回示例
      • Java SDK调用示例
© 2025 远景智能版权所有。 | 隐私声明 用户协议