CB‐Spider S3 API List - cloud-barista/cb-spider GitHub Wiki
CB-Spider S3 API 목록
1. 버킷(Bucket) 관련 API
HTTP 메서드 | 엔드포인트 | 함수명 | 설명 | 지원하는 쿼리 파라미터 |
---|---|---|---|---|
GET | / |
ListS3Buckets | 모든 버킷 목록 조회 | ConnectionName |
PUT | /:Name |
CreateS3Bucket | 새로운 버킷 생성 | - |
GET | /:Name |
GetS3Bucket | 버킷 정보 조회 및 설정 관리 | versioning, cors, policy, location, versions |
GET | /:Name/ |
GetS3Bucket | 버킷 정보 조회 (trailing slash) | 동일 |
HEAD | /:Name |
GetS3Bucket | 버킷 존재 여부 확인 | - |
DELETE | /:Name |
DeleteS3Bucket | 버킷 삭제 | force, empty |
2. 버킷 설정 관리 API (GetS3Bucket 내부)
설정 유형 | HTTP 메서드 | 쿼리 파라미터 | 내부 함수 | 설명 |
---|---|---|---|---|
버전 관리 | GET | ?versioning |
getBucketVersioning | 버킷 버저닝 상태 조회 |
버전 관리 | PUT | ?versioning |
putBucketVersioning | 버킷 버저닝 설정 (Enabled/Suspended) |
CORS | GET | ?cors |
getBucketCORS | CORS 설정 조회 |
CORS | PUT | ?cors |
putBucketCORS | CORS 설정 |
CORS | DELETE | ?cors |
deleteBucketCORS | CORS 설정 삭제 |
위치 정보 | GET | ?location |
getBucketLocation | 버킷 리전 정보 조회 |
버전 목록 | GET | ?versions |
listObjectVersions | 객체 버전 목록 조회 |
3. 객체(Object) 관련 API
HTTP 메서드 | 엔드포인트 | 함수명 | 설명 | 지원하는 쿼리 파라미터 |
---|---|---|---|---|
PUT | /:BucketName/:ObjectKey+ |
PutS3ObjectFromFile | 객체 업로드 | uploadId, partNumber |
GET | /:BucketName/:ObjectKey+ |
DownloadS3Object | 객체 다운로드 | versionId |
HEAD | /:BucketName/:ObjectKey+ |
GetS3ObjectInfo | 객체 메타데이터 조회 | versionId |
DELETE | /:BucketName/:ObjectKey+ |
DeleteS3Object | 객체 삭제 | versionId |
4. 멀티파트 업로드 관련 API (HandleS3BucketPost 내부)
POST 유형 | 쿼리 파라미터 | 내부 함수 | 설명 |
---|---|---|---|
멀티파트 시작 | ?uploads |
initiateMultipartUpload | 멀티파트 업로드 시작 |
파트 업로드 | ?uploadId&partNumber |
uploadPart | 멀티파트의 각 파트 업로드 |
멀티파트 완료 | ?uploadId |
completeMultipartUpload | 멀티파트 업로드 완료 |
여러 객체 삭제 | ?delete |
deleteMultipleObjects | 여러 객체 일괄 삭제 |
폼 기반 업로드 | multipart/form-data | postObject | 브라우저 폼을 통한 파일 업로드 |
5. POST 엔드포인트 매핑
HTTP 메서드 | 엔드포인트 | 함수명 | 설명 |
---|---|---|---|
POST | /:BucketName/:ObjectKey+ |
HandleS3BucketPost | 객체 레벨 POST 작업 처리 |
POST | /:Name |
HandleS3BucketPost | 버킷 레벨 POST 작업 처리 |
POST | /:Name/ |
HandleS3BucketPost | 버킷 레벨 POST 작업 처리 (trailing slash) |
6. 특별 기능 API
기능 | HTTP 메서드 | 특별 파라미터/헤더 | 함수명 | 설명 |
---|---|---|---|---|
강제 버킷 비우기 | DELETE | ?empty 또는 X-Force-Empty |
ForceEmptyS3Bucket | 버킷 내 모든 객체 강제 삭제 |
강제 버킷 삭제 | DELETE | ?force 또는 X-Force-Delete |
ForceDeleteS3Bucket | 버킷과 내용물 강제 삭제 |
7. 인증 및 연결
인증 방식 | 헤더/파라미터 | 설명 |
---|---|---|
AWS Signature V4 | Authorization: AWS4-HMAC-SHA256 | 표준 AWS S3 API 호환 인증 |
CB-Spider 연결명 | ?ConnectionName | CB-Spider 고유 연결 방식 |
AdminWeb | X-Connection-Name | 관리 웹 인터페이스용 헤더 |
8. 응답 형식
API 유형 | 응답 형식 | 설명 |
---|---|---|
버킷/객체 목록 | XML (S3 표준) | ListAllMyBucketsResult, ListBucketResult |
설정 조회 | XML (S3 표준) | VersioningConfiguration, CORSConfiguration |
객체 정보 | JSON | S3ObjectInfo 구조체 |
에러 응답 | XML (S3 표준) | S3Error 구조체 |
주요 특징:
- AWS S3 API와 완전 호환되는 REST API 인터페이스 제공
- 버킷 버저닝, CORS, 멀티파트 업로드 등 고급 기능 지원
- CB-Spider 고유의 연결 관리 시스템과 통합
- 강제 삭제/비우기 등 관리 편의 기능 제공
- XML과 JSON 응답을 적절히 조합하여 사용