-
Notifications
You must be signed in to change notification settings - Fork 50
AWS S3 Standard API vs. CB‐Spider S3 API
ByoungSeob Kim edited this page Jul 19, 2025
·
1 revision
| 카테고리 | API 이름 | AWS 표준 엔드포인트 | CB-Spider 엔드포인트 | 함수명 | 호환성 |
|---|---|---|---|---|---|
| 버킷 관리 | ListBuckets | GET / |
GET / |
ListS3Buckets | ✅ 완전 호환 |
| CreateBucket | PUT /{bucket} |
PUT /:Name |
CreateS3Bucket | ✅ 완전 호환 | |
| DeleteBucket | DELETE /{bucket} |
DELETE /:Name |
DeleteS3Bucket | ✅ 완전 호환 | |
| HeadBucket | HEAD /{bucket} |
HEAD /:Name |
GetS3Bucket | ✅ 완전 호환 | |
| GetBucketLocation | GET /{bucket}?location |
GET /:Name?location |
getBucketLocation | ✅ 완전 호환 | |
| 버킷 설정 | GetBucketVersioning | GET /{bucket}?versioning |
GET /:Name?versioning |
getBucketVersioning | ✅ 완전 호환 |
| PutBucketVersioning | PUT /{bucket}?versioning |
PUT /:Name?versioning |
putBucketVersioning | ✅ 완전 호환 | |
| GetBucketCors | GET /{bucket}?cors |
GET /:Name?cors |
getBucketCORS | ✅ 완전 호환 | |
| PutBucketCors | PUT /{bucket}?cors |
PUT /:Name?cors |
putBucketCORS | ✅ 완전 호환 | |
| DeleteBucketCors | DELETE /{bucket}?cors |
DELETE /:Name?cors |
deleteBucketCORS | ✅ 완전 호환 | |
| 객체 관리 | PutObject | PUT /{bucket}/{key} |
PUT /:BucketName/:ObjectKey+ |
PutS3ObjectFromFile | ✅ 완전 호환 |
| GetObject | GET /{bucket}/{key} |
GET /:BucketName/:ObjectKey+ |
DownloadS3Object | ✅ 완전 호환 | |
| DeleteObject | DELETE /{bucket}/{key} |
DELETE /:BucketName/:ObjectKey+ |
DeleteS3Object | ✅ 완전 호환 | |
| HeadObject | HEAD /{bucket}/{key} |
HEAD /:BucketName/:ObjectKey+ |
GetS3ObjectInfo | ✅ 완전 호환 | |
| ListObjects | GET /{bucket} |
GET /:Name |
ListS3Objects | ✅ 완전 호환 | |
| ListObjectsV2 | GET /{bucket}?list-type=2 |
GET /:Name |
ListS3Objects | ||
| 버전 관리 | ListObjectVersions | GET /{bucket}?versions |
GET /:Name?versions |
listObjectVersions | ✅ 완전 호환 |
| 멀티파트 업로드 | CreateMultipartUpload | POST /{bucket}/{key}?uploads |
POST /:Name?uploads |
initiateMultipartUpload | ✅ 완전 호환 |
| UploadPart | PUT /{bucket}/{key}?partNumber&uploadId |
PUT /:BucketName/:ObjectKey+?partNumber&uploadId |
uploadPart | ✅ 완전 호환 | |
| CompleteMultipartUpload | POST /{bucket}/{key}?uploadId |
POST /:Name?uploadId |
completeMultipartUpload | ✅ 완전 호환 | |
| 일괄 작업 | DeleteObjects | POST /{bucket}?delete |
POST /:Name?delete |
deleteMultipleObjects | ✅ 완전 호환 |
| 폼 업로드 | PostObject | POST /{bucket} |
POST /:Name |
postObject | ✅ 완전 호환 |
| 기능 | CB-Spider 엔드포인트 | 함수명 | 설명 | 고유 특징 |
|---|---|---|---|---|
| 강제 버킷 비우기 | DELETE /:Name?empty |
ForceEmptyS3Bucket | 버킷 내 모든 객체(버전 포함) 강제 삭제 | 🆕 운영 편의성 |
| 강제 버킷 삭제 | DELETE /:Name?force |
ForceDeleteS3Bucket | 비어있지 않은 버킷 강제 삭제 | 🆕 운영 편의성 |
| 다중 인증 지원 | 모든 엔드포인트 | getConnectionName | CB-Spider ConnectionName 방식 지원 | 🆕 CB-Spider 고유 |
| AdminWeb 헤더 | 모든 엔드포인트 | getConnectionName | X-Connection-Name 헤더 지원 | 🆕 관리 도구 연동 |
| JSON 객체 정보 |
GET /:BucketName/:ObjectKey+ (GET 방식) |
GetS3ObjectInfo | 객체 메타데이터를 JSON으로 반환 | 🆕 개발 편의성 |
| AWS API | 표준 엔드포인트 | 미지원 이유 |
|---|---|---|
| PutBucketPolicy | PUT /{bucket}?policy |
❌ 구현되지 않음 |
| GetBucketPolicy | GET /{bucket}?policy |
❌ 구현되지 않음 |
| DeleteBucketPolicy | DELETE /{bucket}?policy |
❌ 구현되지 않음 |
| PutBucketAcl | PUT /{bucket}?acl |
❌ 구현되지 않음 |
| GetBucketAcl | GET /{bucket}?acl |
❌ 구현되지 않음 |
| PutObjectAcl | PUT /{bucket}/{key}?acl |
❌ 구현되지 않음 |
| GetObjectAcl | GET /{bucket}/{key}?acl |
❌ 구현되지 않음 |
| AWS API | 표준 엔드포인트 | 미지원 이유 |
|---|---|---|
| PutBucketLifecycleConfiguration | PUT /{bucket}?lifecycle |
❌ 구현되지 않음 |
| GetBucketLifecycleConfiguration | GET /{bucket}?lifecycle |
❌ 구현되지 않음 |
| DeleteBucketLifecycle | DELETE /{bucket}?lifecycle |
❌ 구현되지 않음 |
| PutBucketWebsite | PUT /{bucket}?website |
❌ 구현되지 않음 |
| GetBucketWebsite | GET /{bucket}?website |
❌ 구현되지 않음 |
| DeleteBucketWebsite | DELETE /{bucket}?website |
❌ 구현되지 않음 |
| PutBucketNotificationConfiguration | PUT /{bucket}?notification |
❌ 구현되지 않음 |
| GetBucketNotificationConfiguration | GET /{bucket}?notification |
❌ 구현되지 않음 |
| AWS API | 표준 엔드포인트 | 미지원 이유 |
|---|---|---|
| PutBucketTagging | PUT /{bucket}?tagging |
❌ 구현되지 않음 |
| GetBucketTagging | GET /{bucket}?tagging |
❌ 구현되지 않음 |
| DeleteBucketTagging | DELETE /{bucket}?tagging |
❌ 구현되지 않음 |
| PutObjectTagging | PUT /{bucket}/{key}?tagging |
❌ 구현되지 않음 |
| GetObjectTagging | GET /{bucket}/{key}?tagging |
❌ 구현되지 않음 |
| DeleteObjectTagging | DELETE /{bucket}/{key}?tagging |
❌ 구현되지 않음 |
| AWS API | 표준 엔드포인트 | 미지원 이유 |
|---|---|---|
| AbortMultipartUpload | DELETE /{bucket}/{key}?uploadId |
❌ 구현되지 않음 |
| ListParts | GET /{bucket}/{key}?uploadId |
❌ 구현되지 않음 |
| ListMultipartUploads | GET /{bucket}?uploads |
❌ 구현되지 않음 |
| AWS API | 표준 엔드포인트 | 미지원 이유 |
|---|---|---|
| CopyObject |
PUT /{bucket}/{key} (x-amz-copy-source) |
❌ 구현되지 않음 |
| SelectObjectContent | POST /{bucket}/{key}?select |
❌ S3 Select 미지원 |
| RestoreObject | POST /{bucket}/{key}?restore |
❌ Glacier 복원 미지원 |
| 구분 | 지원 API 수 | 미지원 API 수 | 특화 API 수 | 호환률 |
|---|---|---|---|---|
| 버킷 관리 | 5개 | 0개 | 2개 | 100% |
| 버킷 설정 | 6개 | 9개 | 0개 | 40% |
| 객체 관리 | 6개 | 2개 | 1개 | 75% |
| 멀티파트 업로드 | 3개 | 3개 | 0개 | 50% |
| 기타 고급 기능 | 2개 | 4개 | 2개 | 33% |
| 전체 | 22개 | 18개 | 5개 | 55% |
- 운영 편의성: 강제 삭제/비우기 기능으로 운영 부담 감소
- 다중 인증: AWS 표준 + CB-Spider 고유 인증 방식 동시 지원
- 개발 친화적: JSON 응답 옵션으로 개발 편의성 향상
- 핵심 기능 완전 지원: 기본적인 S3 작업은 모두 지원
- 고급 관리 기능 부족: ACL, 정책, 라이프사이클 등 엔터프라이즈 기능 미지원
- 태깅 시스템 미지원: 객체/버킷 태깅 기능 없음
- S3 Select 미지원: 객체 내용 쿼리 기능 없음
- 완전한 멀티파트 관리 부족: 중단/목록 조회 기능 없음
-
Install & Start Guide
-
Features & Usage
-
- AdminWeb Tool Guide
- CLI Tool Guide
- REST API Guide
- NLI Guide
-
Design
-
Developer Guide
-
Cloud Driver Developer Guide
- Cloud Driver Developer Guide-WIP
- VM SSH Key Development Guide-WIP
- VM User Development Guide
- What is the CSP SDK API Version of drivers
- Region Zone Info and Driver API
- (StartVM TerminateVM) API Call Counts and Waiting
- StartVM and TerminateVM Main Flow of drivers
- VM Root Disk Configuration Guide
- Security Group Rules and Driver API
- Network Load Balancer and Driver API
- VM Snapshot, MyImage and Disk Overview
- Kubernetes and Driver API(PMKS, K8S)
- Tag and Cloud Driver API
- AnyCall API Extension Guide
-
Test Reports
- v0.2.8-for-espresso-release
- v0.3.0-espresso-release
- Azure:Terminating VM
- cb-user@VM: ssh login, sudo run
- v0.3.14 test for SG Source
- v0.4.0-cafemocha-release
- Test via REST API Gateway
- Test Reports of v0.4.11 (IID2 initial Version)
- Test Reports of v0.4.12 (Register & Unregister existing Resources)
- Test Reports for v0.6.0 Release
- How to ...
- How to Use AWS S3 with Credentials
- How to Use Alibaba ECS i1.* Instance Types
- How to provision GPU VMs
- How to Resolve the 'Failed to Connect to Database' Error
- How to test CB Spider with Mock Driver
- How to install CB Spider on WSL2 under 공유기/사설망
- How to install CB Spider on macOS
- How to run CB Spider Container on macOS
- How to install OpenStack on a VM for CB Spider Testing
- How to get Azure available Regions
- How to profile memory usage in Golang
- Deprecated:How to install protoc and plugins
- [For Cloud-Migrator]