스트림 쿼리 생성
새 스트림 쿼리를 생성합니다. 이 작업은 관리자 권한을 요구합니다.
HTTP 요청
POST /api/sonar/stream-queries
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
-d name="test_stream_query" \
-d description="테스트용 스트림 쿼리" \
-d source_type="table" \
-d source="my_table,another_table" \
-d interval=60 \
-d query="table limit=100 | stats count" \
-d is_enabled=true \
-d is_async=false \
-X POST "https://HOSTNAME/api/sonar/stream-queries"
요청 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| guid | X | 문자열 | 스트림 쿼리 GUID | 36자. 미설정 시 무작위 생성 |
| name | O | 문자열 | 스트림 쿼리 이름 | 최소 1자, 최대 50자 |
| description | X | 문자열 | 설명 | 최대 2,000자 |
| is_enabled | X | 불리언 | 활성화 여부 | 기본값: true |
| source_type | O | 문자열 | 소스 타입 | table, logger, stream 중 하나 |
| source | X | 문자열 목록 | 소스 목록 | 쉼표(,)로 구분된 소스 목록 |
| interval | O | 32비트 정수 | 새로 고침 주기 | 단위: 초, 0 이상의 값 |
| query | X | 문자열 | 쿼리문 | 미설정 시 빈 쿼리 |
| is_async | X | 불리언 | 비동기 모드 여부 | 기본값: false |
정상 응답
{}
오류 응답
필수 매개변수가 누락된 경우
HTTP 상태코드 400 응답
{
"error_code": "null-argument",
"error_msg": "name should be not null"
}
매개변수 값의 길이가 잘못된 경우
HTTP 상태코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'name' must be shorter than or equal to 50 characters."
}
interval 값이 음수인 경우
HTTP 상태코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "interval should be non-negative: -1"
}
지원되지 않는 source_type인 경우
HTTP 상태코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "unsupported source type: invalid_type"
}
스트림 쿼리 GUID가 중복된 경우
HTTP 상태코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "duplicated stream query guid: 12345678-1234-1234-1234-123456789012"
}
관리자 권한이 아닌 경우
HTTP 상태코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}
query에 구문 오류가 있는 경우
HTTP 상태코드 400 응답
{
"error_code": "query-parse-exception",
"error_msg": "syntax error at line 1: unexpected token"
}