Intro
- Global Service
- Object store (key-value pairs)
- Buckets must have a globally unique name
- Buckets are defined at the regional level
- Objects have a key (full path to the object):
s3://my_bucket/my_folder/another_folder/my_file.txt
- The key is composed of bucket + prefix + object name
s3://my_bucket*/my_folder/another_folder/***my_file.txt**
- There’s no concept of directories within buckets (just keys with very long names that contain slashes)
- Max Object Size: 5TB
- Durability: 99.999999999% (total 11 9's)
<aside>
💡 S3 delivers strong read-after-write consistency (if an object is overwritten and immediately read, S3 always returns the latest version of the object). However, bucket configuration is eventually consistent (if you delete a bucket and immediately list all buckets, the deleted bucket might still appear in the list).
</aside>
Bucket Versioning
- Enabled at the bucket level
- Protects against unintended deletes
- Ability to restore to a previous version
- Any file that is not versioned prior to enabling versioning will have version
null
- Suspending versioning does not delete the previous versions, just disables it for the future
- To restore a deleted object, delete it's delete marker