Query Asset Topology¶
根据对象实例标识符等信息获取指定资产的拓扑关系。
请求格式¶
GET https://{api-gateway}/cds-asset-service/v1.0/topology?action=query
请求参数¶
名称 |
位置 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
拓扑所属的组织 ID。如何获取 orgId 信息>> |
mdmIds |
Query |
必需 |
String |
拓扑对应的对象实例的标识符,多个对象实例之间用英文逗号隔开。单次查询指定的对象实例数量不超过 20000。为保证查询性能,建议单次查询指定的对象实例数量不超过 100。 |
mdmTypes |
Query |
可选 |
String |
拓扑所属的对象类型的标识符,多个对象类型之间用英文逗号隔开。单次查询指定的对象类型数量不超过 100。如何获取 mdmTypes 信息>> |
topologyRuleId |
Query |
必需 |
String |
拓扑规则的标识符。如何获取 topologyRuleId 信息>> |
attributes |
Query |
可选 |
String |
待查询对象的属性,多个属性之间用英文逗号隔开。支持指定查询对象的模型属性和在通用数据服务中自定义的“虚拟属性”。如何获取 attributes 信息>> |
filter |
Query |
可选 |
List<List<Map<String,String>>> |
返回结果按 attributes 进行过滤。例如:[[{“field”:”field1”,”operator”:”>=”,”value”:”1”},{“field”:”field2”,”operator”:”<=”,”value”:”2”}],[{“field”:”field3”,”operator”:”==”,”value”:”3”}]],该表达式含义为:(field1 >= 1 and field2 <= 2) or (field3=3)。 |
locale |
Query |
可选 |
String |
中文:zh-CN, 英文:en-US, 日语:ja-JP,西班牙语:es-ES。默认为 en-US。 |
withI18n |
Query |
可选 |
Boolean |
是否返回完整的国际化内容, |
返回内容类型¶
application/json; charset = UTF-8
响应参数¶
名称 |
必然/可能返回 |
数据类型 |
描述 |
---|---|---|---|
assetTopology |
必然返回 |
AssetTopology 结构体 |
描述资产的拓扑信息。参见 AssetTopology 结构体。 |
assets |
必然返回 |
Asset 结构体 |
描述资产信息。参见 Query Accessible Asset。 |
AssetTopology 结构体 ¶
名称 |
必然/可能返回 |
数据类型 |
描述 |
---|---|---|---|
mdmId |
必然返回 |
String |
资产实例的标识符。为保证查询性能,建议单次查询指定的对象实例数量不超过 100。 |
children |
必然返回 |
AssetTopology 结构体 |
描述子资产的拓扑信息。 |
返回码¶
参见 通用数据服务 API 返回码。
示例¶
请求示例¶
GET https://{api-gateway}/cds-asset-service/v1.0/topology?action=query&orgId=yourOrgId&mdmIds=yourMdmId&topologyRuleId=yourTopologyRuleId
返回示例¶
{
"data": {
"assetTopology": {
"mdmId": "yourMdmId",
"children": [
{
"mdmId": "yourChildMdmId",
"children": []
},
{
"mdmId": "yourChildMdmId",
"children": []
}
]
},
"assets": {
"yourMdmId": {
"mdmType": "EnOS_Solar_Site",
"mdmId": "yourMdmId",
"name": "yourMdmId",
"capacity": 3.6
},
"yourChildMdmId": {
"mdmType": "EnOS_Solar_Inverter",
"mdmId": "yourMdmId",
"name": "yourMdmId",
"capacity": 1800.0
},
"yourChildMdmId": {
"mdmType": "EnOS_Solar_Inverter",
"mdmId": "yourMdmId",
"name": "yourMdmId",
"capacity": 1800.0
}
}
},
"code": 0,
"msg": "OK",
"traceId": "1234567890abcdefghijkl0987654321"
}