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