로그 스키마 필드 목록 조회

지정한 로그 스키마의 필드 목록을 조회합니다.

필요 권한

사용자 이상의 계정으로 이용할 수 있습니다.

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"
요청 매개변수
필수타입설명비고
codeO문자열코드스키마 식별자
fieldX문자열필드명 검색 패턴field_name에 포함된 문자열로 검색
localeX문자열언어en, ko, zh 중 하나. 미지정 시 세션 언어 적용
limitX32비트 정수최대 갯수field 미입력 시 전체 조회, 입력 시 기본값: 20
offsetX32비트 정수건너뛸 갯수기본값: 0
keywordsX문자열통합 검색 키워드field_name, display_name, display_name_trans(로케일별)를 대상으로 검색

참고: fieldkeywords 매개변수의 차이점

  • field: 필드 이름만 검색 (예: field=ipsrc_ip, dst_ip 등)
  • keywords: 필드 이름 + 표시 이름 + 로케일별 표시 이름을 모두 검색 (예: keywords=IPsrc_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."
}