통합 카탈로그 엔터티 목록¶
POST /api/v1/unified_catalog/entity/list
개요¶
현재 워크스페이스의 통합 카탈로그 엔터티 목록을 가져옵니다. 엔터티 데이터는 Studio가 Kodo를 통해 조회합니다.
Body 요청 파라미터¶
| 파라미터명 | 유형 | 필수 | 설명 |
|---|---|---|---|
| pageIndex | integer | 아니요 | 페이지 번호, 기본값 1 비워 둘 수 없음: False 예시: 1 $minValue: 1 $maxValue: 10000 |
| pageSize | integer | 아니요 | 페이지당 항목 수, 기본값 20, 최대 200 비워 둘 수 없음: False 예시: 20 $minValue: 1 $maxValue: 200 |
| urn | string | 아니요 | 엔터티 URN으로 정확히 필터링 비워 둘 수 없음: False |
| entityType | string | 아니요 | 엔터티 유형 코드; 상태 필드로 필터링 또는 정렬 시 필수 비워 둘 수 없음: False |
| provider | string | 아니요 | 단일 소스 유형, 여러 값은 providers 사용 권장 비워 둘 수 없음: False |
| providers | array | 아니요 | 소스 유형 목록, 예: ["discovery", "manual"] 비워 둘 수 없음: False |
| search | string | 아니요 | 퍼지 검색, urn, name, display_name 매칭 비워 둘 수 없음: False |
| filters | json | 아니요 | attributes 필드 필터링, 최상위 상태 필드도 지원; 상태 필터링 시 entityType 필수 비워 둘 수 없음: False 예시: {'env': ['prod'], 'project': ['demo']} |
| orderBy | string | 아니요 | 정렬 필드, 기본값 updatedAt; 상태 필드 정렬 시 entityType 필수 비워 둘 수 없음: False |
| order | string | 아니요 | 정렬 방향, asc / desc 지원, 기본값 desc 비워 둘 수 없음: False |
파라미터 추가 설명¶
요청 파라미터 설명
| 파라미터명 | 유형 | 필수 | 설명 |
|---|---|---|---|
| pageIndex | integer | 아니요 | 페이지 번호, 기본값 1 |
| pageSize | integer | 아니요 | 페이지당 항목 수, 기본값 20, 최대 200 |
| urn | string | 아니요 | 엔터티 URN으로 정확히 필터링 |
| entityType | string | 아니요 | 엔터티 유형 코드; 상태 필드로 필터링 또는 정렬 시 필수 |
| provider | string | 아니요 | 단일 소스 유형 |
| providers | array[string] | 아니요 | 여러 소스 유형 목록 |
| search | string | 아니요 | 퍼지 검색, urn, name, display_name 매칭 |
| filters | json | 아니요 | attributes 필드 필터링, 최상위 상태 필드도 지원; 상태 필터링 시 entityType 필수 |
| orderBy | string | 아니요 | 정렬 필드, 기본값 updatedAt; 상태 필드 정렬 시 entityType 필수 |
| order | string | 아니요 | 정렬 방향, asc / desc 지원, 기본값 desc |
filters 사용 설명
- 일반 키는 엔터티
attributes를 매칭합니다.healthStatus/healthScore/healthUpdateAt/brokenComponents및 snake_case 별칭은 엔터티 최상위 유효 상태 필드를 매칭합니다. - 예:
{"env":["prod"],"project":["demo"]}; 상태 필터링 예:{"healthStatus":["warning"]}. - 특정 속성에 대해 여러 값을 매칭해야 하는 경우 배열에 담아 전달하세요.
호출 시 주의사항
- 이는 페이지네이션 인터페이스입니다. 항상
pageIndex와pageSize를 명시적으로 전달하는 것이 좋습니다. provider와providers는 둘 중 하나만 사용하는 것이 좋으며, 여러 소스 값은providers를 우선 사용하세요.- 응답 결과의
pagination.totalCount는 현재 필터 조건에 일치하는 전체 엔터티 수를 나타냅니다. - 각 엔터티는
healthConfig/healthEnabled/healthScore/healthStatus/healthUpdateAt을 항상 반환합니다. 모든 유형은 항상 유효한 구성에 따라 반환되며, 백그라운드 readiness 정리 진행 상황에 의존하지 않습니다.
요청 예시¶
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"
},
"healthConfig": {},
"healthEnabled": false,
"healthScore": null,
"healthStatus": "unknown",
"healthUpdateAt": null,
"teamInfo": [],
"tagsInfo": []
}
],
"pagination": {
"pageIndex": 1,
"pageSize": 20,
"count": 1,
"totalCount": 1
}
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "TRACE-XXXX"
}