-
Notifications
You must be signed in to change notification settings - Fork 52
Object Storage and S3 API Guide
powerkim edited this page Jul 24, 2026
·
25 revisions
- CB-Spider can manage multi-cloud Object Storage in a unified manner using AWS S3 standard methods and compatible APIs.
- Users can create Buckets and store/manage Objects (files) in created Buckets by assigning unique Keys.
- Users can create and manage multiple Buckets, and each Bucket can store and manage multiple Key:Object pairs.
-
-
- Create, retrieve, delete, and manage the status of Buckets, which are the basic unit of object storage
- Provides bucket existence check and bucket location information retrieval
-
- Basic data management functions to upload, download, retrieve, and delete objects within a bucket
- Supports file-based and form-based object upload
- Object metadata retrieval and batch deletion of multiple objects
-
- Multipart Upload management for uploading large objects by splitting them into multiple parts
- Supports multipart upload initialization, part upload, completion, and abort
- Ability to list in-progress multipart operations and individual parts
-
- Object versioning management at the bucket level
- Retrieve and enable/disable versioning settings
- List all versions of an object and delete specific versions
-
- Cross-Origin Resource Sharing (CORS) policy management for buckets
- Provides CORS configuration retrieval, registration, and deletion
-
- PreSigned URL generation allowing object access for a limited time without authentication
- PreSigned URL for object download
- PreSigned URL for object upload
- Empty Bucket function to forcibly delete all objects in a bucket
- Force Delete function to forcibly delete a bucket and its contained objects
- CB-Spider metadata management functions
- Bucket registration (Register)
- Bucket deregistration (Unregister)
- List all buckets (List All)
- List all bucket detailed info (List All Info)
- Count all buckets (Count All)
- Delete CSP bucket directly (Delete CSP)
- ※ Available only via CB-Spider standard REST API (Basic Auth / JSON)
- PreSigned URL generation allowing object access for a limited time without authentication
-
-
CSP Bucket Object Multipart Upload Versioning CORS Special AWS O O O O O O AZURE O O NA NA NA O GCP O O O O O O ALIBABA
(Excl. Mainland China)O O O O O O TENCENT O O O O O O IBM O O O O O O OPENSTACK O O NA NA O O NCP O O O NA NA O NHN O O O NA NA O KT O O O O O O ● Legend: O = Provided (Supported), NA = Not Applicable (CSP does not support or unstable)
-
※ CSP-specific S3 Notes: See PR #1618
-
Deleted bucket names cannot be reused for a certain period: AWS 48H-72H, Alibaba 4H-8H, etc.
-
Alibaba: Mainland China regions excluded (additional settings such as Domain configuration required)
-
Azure: Multipart Upload / Versioning / CORS are not supported due to Azure structural constraints (details)
-
Azure: Azure-specific headers required when calling Upload REST API (reference)
-
-
- S3 Pre-check: Verify that Object Storage is enabled and permissions are configured in the CSP Console
- S3 Credentials: Obtain S3 credentials (HMAC key) for each CSP (CSP-specific Guide)
- S3 Credential Registration: S3 credentials must be added to CB-Spider Connection's Credential information
-
CSPs where existing Credentials are identical and no additional S3 credentials are needed
[AWS/Alibaba/Tencent/NCP] -
CSPs where S3 credentials need to be added to existing Credentials
[GCP/Azure/IBM/OpenStack/NHN/KT]-
(1) Using Key Names as provided by each CSP Web Console
[GCP] curl -X POST "http://localhost:1024/spider/credential" \ -H 'Content-Type: application/json' \ -d '{ "CredentialName": "gcp-credential01", "ProviderName": "GCP", "KeyValueInfoList": [ { "Key": "PrivateKey", "Value": "-----BEGIN PRIVATE KEY-----\nxxx\n-----END PRIVATE KEY-----\n" }, { "Key": "ProjectID", "Value": "project" }, { "Key": "ClientEmail", "Value": "user@user.iam.gserviceaccount.com" }, { "Key": "Access Key", "Value": "XXXX" }, <======= for S3 { "Key": "Secret", "Value": "YYYY" } <======= for S3 ] }' [Azure] ... existing Credential information {"Key": "StorageAccountName", "Value": "***"}, {"Key": "StorageAccountKey", "Value": "***"} [IBM] ... existing Credential information {"Key": "access_key_id", "Value": "***"}, {"Key": "secret_access_key", "Value": "***"} [OpenStack] ... existing Credential information {"Key": "access", "Value": "***"}, {"Key": "secret", "Value": "***"} [NHN/KT] ... existing Credential information ... {"Key": "Access Key", "Value": "***"}, {"Key": "Secret Key", "Value": "***"} -
(2) Using unified abstract Key Names
[GCP/IBM/OpenStack/NHN/KT] ... existing Credential information ... {"Key": "S3AccessKey", "Value": "***"}, {"Key": "S3SecretKey", "Value": "***"}
-
-
- CB-Spider Object Storage API Guide (CB Standard, Basic Auth / JSON Format)
- CB-Spider Object Storage API Guide (AWS Compatible, Basic Auth / XML Format)
- CB-Spider Object Storage API Guide (AWS Compatible, SigV4 / XML Format)
- CB-Spider Object Storage API Swagger UI
- Select a Connection
- Navigate to the S3 management page
- Key features of S3 management are as follows:
- (1) Create a Bucket
- (2) View and select created Bucket information
- (3) Store Objects in the selected Bucket
- (4) View stored Object information
- (5) Download stored Objects
- (6) Generate PreSigned URLs for stored Objects
- (7) Toggle Versioning for the current Bucket's Objects
- (8) Manage versions of Objects in Versioning-enabled Buckets
- (9) Configure and delete CORS settings for the current Bucket
- For installation and usage, refer to S3 Browser
- CB-Spider Account configuration:
-
Account: SelectS3 Compatible Storage -
API: Enterlocalhost:1024/spider/s3 -
Access Key: EnterSPIDER_USERNAME@ConnectionName -
Secret Access: EnterSPIDER_PASSWORD -
Use secure transfer (SSL/TLS): unCheck
-
- For installation and usage, refer to rclone
- CB-Spider Account configuration:
-
vi ~/.config/rclone/rclone.conf[mydrv] type = s3 provider = Other access_key_id = `SPIDER_USERNAME@ConnectionName` secret_access_key = `SPIDER_PASSWORD` endpoint = http://localhost:1024/spider/s3 acl = public location_constraint = ap-southeast-2
-
- Example commands:
$ rclone config show [mydrv] type = s3 provider = Other access_key_id = admin@aws-config01 secret_access_key = **** endpoint = http://localhost:1024/spider/s3 acl = private location_constraint = ap-southeast-2 $ rclone mkdir mydrv:test-bucket-powerkim-001 $ rclone lsd mydrv: -1 2026-07-13 10:46:18 -1 test-bucket-powerkim-001 $ rclone copy 1.txt mydrv:test-bucket-powerkim-001 $ rclone ls mydrv:test-bucket-powerkim-001 2 1.txt $ rclone purge mydrv:test-bucket-powerkim-001 $ rclone lsd mydrv:
-
Install & Start Guide
-
Usage Guide
- Usage Overview
- Connection Management
- Region/Zone Info
- Quota Info
- VM Price Info
- VM Image Info
- VM Spec Info
- DB Spec Info
- VPC/Subnet Management
- Security Group Management
- KeyPair Management
- VM Management
- Disk Management
- Network Load Balancer(NLB) Management
- Kubernetes Cluster Management
- Object Storage(S3) Management
- RDBMS Management
- Tag Management
- Cloud Driver Capability Info
- (WIP)VM Multi‐Network Management
- Function Menu
- MetaDB Auto Backup
- How to get CSP Credentials
- Tutorials
- Developer Guide
- Cloud Driver Developer Guide
- CB‐Spider Multi‐Cloud Driver Developer Team Skill
- 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
- How to ...
- How to Use AWS S3 with Credentials
- How to Use Alibaba ECS i1.* Instance Types
- How to provision GPU VMs
- 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 get Azure available Regions
- How to profile memory usage in Golang
- [For Cloud-Migrator]