Quickstart
You need the exc CLI installed and authenticated. See
CLI Installation if you haven’t done that yet.
1. Create a bucket
exc buckets create my-first-bucketBucket names are unique per org. Use lowercase letters, numbers, and hyphens — same rules as S3.
2. Generate an S3 access key
exc buckets keys create laptopOutput:
ACCESS_KEY_ID: AKIAEXCLOUDEXAMPLE
SECRET_ACCESS_KEY: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYOne-time secret
The secret is shown only once. If you lose it, delete the key and create a new one. Never commit either value to git.
Set them as environment variables for the rest of this guide:
export AWS_ACCESS_KEY_ID=AKIAEXCLOUDEXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_REGION=auto3. Upload an object
Using the AWS CLI
aws --endpoint-url https://<org-id>.buckets.excloud.in \
s3 cp ./hello.txt s3://my-first-bucket/hello.txtFind your <org-id> with exc me or in any exc buckets list URL.
Using the exc CLI
exc buckets objects upload my-first-bucket ./hello.txt --key hello.txtUsing boto3
import boto3
s3 = boto3.client(
"s3",
endpoint_url="https://<org-id>.buckets.excloud.in",
region_name="auto",
)
s3.upload_file("hello.txt", "my-first-bucket", "hello.txt")4. Share
For a one-off, expiring URL:
exc buckets objects presign my-first-bucket hello.txt --ttl 3600For a public object, flip the bucket to public and request the object’s public URL:
exc buckets update my-first-bucket --public truePublic objects are reachable at https://<org-id>.buckets.excloud.in/my-first-bucket/hello.txt.
5. Clean up
exc buckets objects delete my-first-bucket hello.txt
exc buckets delete my-first-bucket
exc buckets keys delete $AWS_ACCESS_KEY_IDWhere next
- Access Keys — rotation, scoping, AWS CLI profiles.
- S3 Compatibility — what works, what doesn’t.
- Terraform — manage buckets and keys from IaC.
Prev
Serial LogsNext
S3 Compatibility