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

쿼리 결과 다운로드를 위한 토큰을 발급받은 후, 파일 다운로드 API를 사용해 쿼리 결과를 다운로드할 수 있습니다. 발급된 토큰은 1회만 사용 가능하며, 30분 후 만료됩니다. 대상 쿼리는 커서 생성 API로 실행한 쿼리여야 합니다.

필요 권한

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

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

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

파일 형식문자 인코딩
csvutf-8, utf-16, ms949
docxutf-8
htmlutf-8
hwpxutf-8
jsonutf-8, utf-16, ms949
pdfutf-8
xmlutf-8

정상 응답

HTTP 상태 코드 200 응답

{ "token": "4ba40c97-b31b-450f-8af8-ceb1b94f5514" }
  • token (문자열): 발급된 다운로드 토큰 GUID

오류 응답

쿼리 id가 정수가 아닌 경우

HTTP 상태 코드 400 응답

{
  "error_code": "illegal-argument",
  "error_msg": "id should be integer type."
}
filename 입력 값이 없거나 유효하지 않은 경우

HTTP 상태 코드 400 응답

{
  "error_code": "illegal-argument",
  "error_msg": "invalid file name: null"
}
offset, limit 값이 64비트 정수가 아닌 경우

HTTP 상태 코드 400 응답

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

HTTP 상태 코드 400 응답

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

HTTP 상태 코드 400 응답

{
  "error_code": "illegal-argument",
  "error_msg": "split_count should be integer type."
}
split_count를 csv 이외의 형식과 함께 사용한 경우

HTTP 상태 코드 400 응답

{
  "error_code": "illegal-argument",
  "error_msg": "'file split' supports only the csv file type."
}
charset에 지원하지 않는 문자 인코딩을 입력한 경우

HTTP 상태 코드 400 응답

{
  "error_code": "illegal-argument",
  "error_msg": "unsupported charset for pdf format: utf-16"
}
지정한 쿼리를 찾을 수 없는 경우

HTTP 상태 코드 500 응답

{
  "error_code": "generic-error",
  "error_msg": "query not found: 12"
}
filetype에 지원하지 않는 파일 형식을 입력한 경우

HTTP 상태 코드 500 응답

{
  "error_code": "generic-error",
  "error_msg": "invalid file type: txt"
}