로그 스키마 필드 목록 조회
지정한 로그 스키마의 필드 목록을 조회합니다.
필요 권한
사용자 이상의 계정으로 이용할 수 있습니다.
HTTP 요청
GET /api/sonar/log-schemas/:code/fields
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
"https://HOSTNAME/api/sonar/log-schemas/session/fields?locale=ko"
요청 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| code | O | 문자열 | 코드 | 스키마 식별자 |
| field | X | 문자열 | 필드명 검색 패턴 | field_name에 포함된 문자열로 검색 |
| locale | X | 문자열 | 언어 | en, ko, zh 중 하나. 미지정 시 세션 언어 적용 |
| limit | X | 32비트 정수 | 최대 갯수 | field 미입력 시 전체 조회, 입력 시 기본값: 20 |
| offset | X | 32비트 정수 | 건너뛸 갯수 | 기본값: 0 |
| keywords | X | 문자열 | 통합 검색 키워드 | field_name, display_name, display_name_trans(로케일별)를 대상으로 검색 |
참고: field와 keywords 매개변수의 차이점
field: 필드 이름만 검색 (예:field=ip→src_ip,dst_ip등)keywords: 필드 이름 + 표시 이름 + 로케일별 표시 이름을 모두 검색 (예:keywords=IP→src_ip,Source IP,출발지IP등)
정상 응답
field 매개변수가 없는 경우
스키마의 모든 필드를 조회합니다.
{
"schema_fields": [
{
"schema_code": "session",
"name": "src_ip",
"display_name": "Source IP",
"type": "IP",
"ordinal": 1
},
{
"schema_code": "session",
"name": "src_port",
"display_name": "Source Port",
"type": "PORT",
"ordinal": 2
}
]
}
field 매개변수가 있는 경우
필드명에 특정 문자열이 포함된 필드(예: field=ip)를 검색합니다.
{
"total_count": 2,
"schema_names": {
"session": { "en": "Session", "ko": "세션" }
},
"schema_fields": [
{
"schema_code": "session",
"name": "src_ip",
"display_name": "Source IP",
"type": "IP",
"ordinal": 1
},
{
"schema_code": "session",
"name": "dst_ip",
"display_name": "Destination IP",
"type": "IP",
"ordinal": 3
}
]
}
- total_count (32비트 정수): 검색 조건과 일치하는 전체 건수 (
field매개변수가 있을 때만 반환) - schema_names (맵): 스키마 코드별 로케일별 이름 (
field매개변수가 있을 때만 반환) - schema_fields (배열): 로그 스키마 필드 목록
- schema_code (문자열): 스키마 코드
- name (문자열): 필드 이름
- display_name (문자열): 화면 표시 이름
- type (문자열): 유형.
DATE,STRING,IP,PORT,SHORT,INT,LONG,FLOAT,DOUBLE,BOOL,COUNTRY,MD5,SHA1,SHA256,URL,DOMAIN중 하나 - ordinal (32비트 정수): 필드 표시 순서
오류 응답
로그 스키마 조회 권한이 없는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}
로그 스키마가 존재하지 않는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "cannot get log schema {code}"
}
지원하지 않는 언어를 지정한 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "unsupported-locale: ru"
}
offset, limit 값이 정수가 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'offset' parameter should be int type"
}
offset, limit 값이 음수인 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'offset' must be greater than or equal to 0."
}