쿼리 결과 다운로드 토큰 생성

쿼리 결과 다운로드를 위한 토큰을 발급받은 후, 파일 다운로드 API를 사용해 쿼리 결과를 다운로드할 수 있습니다. 발급된 토큰은 1회만 사용 가능하며, 30분 후 만료됩니다.

필요 권한

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

HTTP 요청

POST /api/sonar/cursors/:id/download-token
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
    -d "filename=my_query.csv" \
    -X POST "https://HOSTNAME/api/sonar/cursors/1234/download-token"
요청 매개변수
필수타입설명비고
idO32비트 정수로그프레소 쿼리 ID커서 생성 결과 ID
charsetX문자열문자 인코딩utf-8, utf-16, ms949(EUC-KR, 확장완성형) 중 하나. 기본값: utf-8
filenameO문자열파일 이름확장자 포함해서 입력
filetypeX문자열파일 형식csv, json, xml, html, docx, pdf 중 하나. 기본값: csv
fieldsX문자열출력 필드 목록쉼표(,)로 구분. 미입력 시 전체 필드
limitX64비트 정수최대 갯수기본값: 전체 출력
offsetX64비트 정수건너뛸 갯수기본값: 0
split_countX32비트 정수파일당 행 개수csv 형식에서만 지원
  • split_count를 사용하면 여러 개의 CSV 파일이 zip 압축 파일로 묶여서 다운로드됩니다. 이 경우 filename 매개변수 값은 확장자로 zip을 사용해야 합니다. (예시: filename=result.zip)

지원하는 파일 타입 및 문자 인코딩을 표로 정리하면 다음과 같습니다.

파일 타입문자 인코딩
csvutf-8, utf-16, ms949
docxutf-8
htmlutf-8
jsonutf-8, utf-16, ms949
pdfutf-8
xmlutf-8

정상 응답

HTTP 상태 코드 200 응답

{ "token": "4ba40c97-b31b-450f-8af8-ceb1b94f5514" }

오류 응답

쿼리 id 입력 값이 없거나 숫자가 아닌 경우

HTTP 상태 코드 400 응답

{
  "error_code": "illegal-argument",
  "error_msg": "id should be integer type."
}
잘못된 쿼리 id를 입력한 경우

HTTP 상태 코드 400 응답

{
  "error_code": "generic-error",
  "error_msg": "query-not-found: 12"
}
filename 입력 값이 없는 경우

HTTP 상태 코드 400 응답

{
  "error_code": "illegal-argument",
  "error_msg": "filename should be not null."
}
filetype에 지원하지 않는 파일 형식을 입력한 경우

HTTP 상태 코드 400 응답

{
  "error_code": "illegal-state",
  "error_msg": "invalid file type: txt"
}
charset에 지원하지 않는 문자 인코딩을 입력한 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-argument",
  "error_msg": "Unsupported charset for pdf format: utf-16"
}
offset, limit 값이 64비트 정수가 아닌 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-argument",
  "error_msg": "offset should be long type."
}
offset, limit 값이 음수인 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-argument",
  "error_msg": "offset should be non-negative integer."
}
{
  "error_code": "invalid-argument",
  "error_msg": "limit should be non-negative integer."
}
split_count 값이 32비트 정수가 아닌 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-argument",
  "error_msg": "split_count should be integer type."
}