统一目录拓扑查询¶
POST /api/v1/unified_catalog/topology/query
概述¶
查询统一目录拓扑关系。
Body 请求参数¶
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
| entityType | string | 实体类型编码 允许为空: False |
|
| urn | string | 聚焦实体 URN 允许为空: False |
|
| providers | array | 来源类型列表 允许为空: False |
|
| relationTypes | array | 关系类型列表,当前主要使用 links 和 contains 允许为空: False |
|
| filters | json | 实体过滤字段,支持 attributes 中任意字段 允许为空: False |
|
| groupByFields | array | 按 attributes 字段进行多层级分组,按数组顺序依次分组 允许为空: False |
|
| search | string | 搜索关键词 允许为空: False |
参数补充说明¶
请求参数说明
| 参数名 | type | 必选 | 说明 |
|---|---|---|---|
| entityType | string | 否 | 起点实体类型编码 |
| urn | string | 否 | 聚焦实体 URN |
| providers | array[string] | 否 | 起点实体来源类型列表 |
| relationTypes | array[string] | 否 | 需要返回的关系类型列表 |
| filters | json | 否 | 起点实体过滤条件,支持 attributes 中任意字段 |
| groupByFields | array[string] | 否 | 拓扑实体节点分组字段列表 |
| search | string | 否 | 起点实体搜索关键词 |
groupByFields 使用说明
- 按数组顺序做多层级分组,例如:
["project","env","serviceType"]。 - 分组基于拓扑结果中的实体节点,而不是关系边。
调用注意事项
entityType、providers、search、urn、filters只作用于起点实体确定。- 返回结构固定为
items + groupInfo。 - 平台内拓扑查询结果中,关系两端实体摘要的
attributes为全量返回。
请求例子¶
curl 'https://openapi.guance.com/api/v1/unified_catalog/topology/query' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"entityType":"service","filters":{"project":["demo"]},"groupByFields":["project","env"]}'
响应¶
{
"code": 200,
"content": {
"items": [
{
"relationType": "links",
"sourceUrn": "urn:system:default:core",
"targetUrn": "urn:service:default:demo",
"sourceUrnInfo": {
"urn": "urn:system:default:core",
"attributes": {
"project": "demo"
}
},
"targetUrnInfo": {
"urn": "urn:service:default:demo",
"attributes": {
"project": "demo",
"env": "prod"
}
}
}
],
"groupInfo": {
"groupByLayers": [],
"noGroupData": []
}
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "TRACE-XXXX"
}