统一目录实体列表¶
POST /api/v1/unified_catalog/entity/list
概述¶
获取当前工作空间下的统一目录实体列表,查询数据来自 Studio 本地库。
Body 请求参数¶
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
| pageIndex | integer | 页码,默认 1 允许为空: False 例子: 1 $minValue: 1 |
|
| pageSize | integer | 每页数量,默认 20,最大 200 允许为空: False 例子: 20 $minValue: 1 $maxValue: 200 |
|
| urn | string | 按实体 URN 精确过滤 允许为空: False |
|
| entityType | string | 实体类型编码,如 service、host、database、cloud_resource 允许为空: False |
|
| provider | string | 单个来源类型,多个值建议改传 providers 允许为空: False |
|
| providers | array | 来源类型列表,如 [\"discovery\", \"manual\"] 允许为空: False |
|
| search | string | 模糊搜索,匹配 urn、name、display_name 允许为空: False |
|
| filters | json | attributes 字段过滤,key 为属性名,value 为匹配值数组 允许为空: False 例子: {'env': ['prod'], 'project': ['demo']} |
|
| orderBy | string | 排序字段,默认 updatedAt 允许为空: False |
|
| order | string | 排序方向,支持 asc / desc,默认 desc 允许为空: False |
参数补充说明¶
请求参数说明
| 参数名 | type | 必选 | 说明 |
|---|---|---|---|
| pageIndex | integer | 否 | 页码,默认 1 |
| pageSize | integer | 否 | 每页数量,默认 20,最大 200 |
| urn | string | 否 | 按实体 URN 精确过滤 |
| entityType | string | 否 | 实体类型编码,如 service、host、database、cloud_resource |
| provider | string | 否 | 单个来源类型 |
| providers | array[string] | 否 | 多个来源类型列表 |
| search | string | 否 | 模糊搜索,匹配 urn、name、display_name |
| filters | json | 否 | attributes 字段过滤,key 为属性名,value 为匹配值数组 |
| orderBy | string | 否 | 排序字段,默认 updatedAt |
| order | string | 否 | 排序方向,支持 asc / desc,默认 desc |
filters 使用说明
filters只匹配实体attributes下的字段。- 例如:
{"env":["prod"],"project":["demo"]}。 - 若某个属性需要匹配多个值,请统一放在数组中传入。
调用注意事项
- 这是分页接口,建议始终显式传
pageIndex和pageSize。 provider与providers建议二选一,多个来源值优先使用providers。- 返回结果中的
pagination.totalCount表示当前过滤条件命中的实体总数。
请求例子¶
curl 'https://openapi.guance.com/api/v1/unified_catalog/entity/list' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"pageIndex":1,"pageSize":20,"entityType":"database","filters":{"env":["prod"]}}'
响应¶
{
"code": 200,
"content": {
"items": [
{
"urn": "urn:mysql:default:demo",
"entityType": "database",
"name": "demo",
"provider": "manual",
"attributes": {
"project": "demo",
"env": "prod"
},
"teamInfo": [],
"tagsInfo": []
}
],
"pagination": {
"pageIndex": 1,
"pageSize": 20,
"count": 1,
"totalCount": 1
}
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "TRACE-XXXX"
}