Buckets, Objects & Versioning

Harry · 14 Sep 2026 · 1 views
Advertisement
Advertisement

Core concepts

S3 stores objects (key, data, metadata) inside buckets. Bucket names are globally unique across all AWS accounts; objects are stored per-region. Keys like img/books/cover.jpg just look like folders — it is a flat namespace.

Create a bucket

aws s3api create-bucket \
  --bucket groovygrails-books \
  --region ap-south-1 \
  --create-bucket-configuration LocationConstraint=ap-south-1

Turn Block all public access ON for your first bucket — private by default is the safe starting point.

Upload an object + enable versioning

aws s3api put-object --bucket groovygrails-books --key books/java.pdf --body java.pdf
aws s3api put-bucket-versioning --bucket groovygrails-books \
  --versioning-configuration Status=Enabled
# every overwrite now keeps the old version (great for backups):
aws s3api put-object --bucket groovygrails-books --key books/java.pdf --body java-v2.pdf
aws s3api list-object-versions --bucket groovygrails-books

Versioning means a bad overwrite never destroys data — roll back by deleting the bad version. Combined with lifecycle rules (next lesson) it stays cheap.

Share this post:

Comments (0)

Please login or register to comment.