1.S3 Core Vocabulary
A bucket is a container; an object (data + metadata) lives inside it, addressed by a unique key. There is no real folder structure — a "prefix" like photos/ is just a shared substring in keys, S3 fakes a folder view over a flat namespace. A bucket policy or IAM policy controls access; versioning keeps every past copy of an object; lifecycle rules move or expire objects automatically over time.
Key features
- Object = data + metadata; key = the unique identifier for that object within a bucket
- A "folder" is not real — a prefix is a shared substring convention over a flat key namespace
- Storage classes trade cost against retrieval latency/frequency: Standard, Standard-IA, One Zone-IA, Glacier tiers
- Versioning keeps every PUT/DELETE as a distinct version, keyed by a generated version ID
- Lifecycle rules automate transitions between storage classes or expiration, based on object age/prefix
- A bucket policy is a resource-based IAM policy; by default all buckets and objects are private
- Bucket — the container, globally unique name
- Object — data + metadata, addressed by a key
- Key / prefix — the unique identifier — prefixes fake folders
- Bucket policy / IAM — private by default, access explicitly granted
Signature
bucket → key (object) — no real folders, only shared prefixes
Bucket = container, object = data + metadata, key = unique identifier. "Folders" are a prefix illusion over a flat namespace — a folder rename is really a copy-then-delete of every object under that prefix. Private by default; verify, don't assume.