Skip to content

File APIs

File APIs로 자신의 워크스페이스 저장 공간에 원격으로 파일을 보내고 원하는 데이터베이스 테이블에 파일을 넣을수 있습니다. 이 API로 업로드되는 모든 사용자 파일의 기본 루트 폴더는 'drive/'로 설정됩니다.

GET /file/

지정된 경로와 일치하는 파일 및 폴더 목록을 반환합니다. 경로에는 루트 폴더 'drive/'가 포함되어야 하며 정규식을 사용하여 표현할 수 있습니다.

import requests
import json

api_token = "발급받은_API_TOKEN"
search_path = "drive/file/path"
api_url = f"https://{your-engine-url}/api/v1/file/?search_path={search_path}"

header = {
    "Authorization": f"Bearer {api_token}"
}

r = requests.get(api_url, headers=header)

r.raise_for_status()
return_json = r.json()
curl -X 'GET' \
  'https://{your-engine-url}/api/v1/file/?search_path={search_path}' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer 발급받은_API_TOKEN' \
  -H 'Content-Type: application/json'

POST /file/

파일을 워크스페이스의 drive/ 디렉토리에 업로드하려면 아래의 방법을 사용합니다. URL에 쿼리 매개변수 'dir={dir}'를 추가하면 파일이 drive/{dir}/ 에 업로드됩니다.

import requests
import json

api_token = "발급받은_API_TOKEN"
api_url = "https://{your-engine-url}/api/v1/file/"
header = {
    "Authorization": f"Bearer {api_token}"
}
files = {'file': open('데이터 파일 경로', 'rb')}

r = requests.post(api_url, files=files, headers=header)

r.raise_for_status()
return_json = r.json()
curl -X 'POST' \
  'https://{your-engine-url}/api/v1/file/' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer 발급받은_API_TOKEN' \
  -H 'Content-Type: multipart/form-data' \
  -F 'file=@데이터 파일 경로;type=파일_타입/데이터 파일 타입'

"db commit"이 True로 설정되고 "table name"과 "column name"이 지정되면 지정된 파일이 ThanoSQL 저장소로 전송되고 파일 경로가 지정된 테이블의 열에 삽입됩니다.

import requests
import json

api_token = "발급받은_API_TOKEN"
base_url = "https://{your-engine-url}/api/v1/"
table_name = "테이블 명"
column_name = "컬럼 명"
db_commit = True 

api_url = f"{base_url}?db_commit={db_commit}&table_name={table_name}&column_name={column_name}"
header = {
    "Authorization": f"Bearer {api_token}"
}
files = {'file': open('데이터 파일 경로', 'rb')}

r = requests.post(api_url, files=files, headers=header)

r.raise_for_status()
return_json = r.json()
curl -X 'POST' \
  'https://{your-engine-url}/api/v1/file/?db_commit={db_commit}&table_name={table_name}&column_name={column_name}' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer 발급받은_API_TOKEN' \
  -H 'Content-Type: multipart/form-data' \
  -F 'file=@데이터 파일 경로;type=파일_타입/데이터 파일 타입'

FAQ

  • Jupyter 내부의 파일을 사용하려면 경로 앞에 '/'home/jovyan'을 붙여야 합니다.

DELETE /file/

워크스페이스의 drive/ 디렉터리에서 파일을 삭제하려면 다음 메서드를 사용하세요.

import requests
import json

api_token = "발급받은_API_TOKEN"
file_path = "drive/file/path"
api_url = f"https://{your-engine-url}/api/v1/file/?file_path={file_path}'

header = {
    "Authorization": f"Bearer {api_token}"
}

r = requests.delete(api_url, headers=header)

r.raise_for_status()
return_json = r.json()
curl -X 'DELETE' \
  'https://{your-engine-url}/api/v1/file/?file_path={file_path}' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer 발급받은_API_TOKEN' \
  -H 'Content-Type: application/json' 

"db_commit"이 True로 설정되고 "table_name" 및 "column_name"이 지정되면 지정된 파일을 워크스페이스 저장소에서 삭제하고 그 파일 경로와 같은 값이 지정된 열에 들어 있는 모든 행이 지정된 데이터베이스에서 제거됩니다.

import requests
import json

api_token = "발급받은_API_TOKEN"
base_url = "https://{your-engine-url}/api/v1/file/"
db_commit = True 
file_path = "drive/file/path",
table_name = "테이블 명",
column_name = "컬럼 명"

api_url = f"{base_url}?db_commit={db_commit}&file_path={file_path}&table_name={table_name}&column_name={column_name}"

header = {
    "Authorization": f"Bearer {api_token}"
}

r = requests.delete(api_url, headers=header)

r.raise_for_status()
return_json = r.json()
curl -X 'DELETE' \
  'https://{your-engine-url}/api/v1/file/?db_commit={db_commit}&file_path={file_path}&table_name={table_name}&column_name={column_name}' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer 발급받은_API_TOKEN' \
  -H 'Content-Type: application/json'

Last update: 2024-04-04