- Regionally resilient. Replicated across all AZs. Can also replicate between regions
- Object size goes from 0 bytes to 5TB
- Bucket ID has to be globally unique, across all AWS accounts, & all regions.
- Flat structure. koala.jpg is in the same folder as /old/koala.jpg. the /old/ is just a prefix
- Buckets - 100 soft limit, 1000 hard limit per account
- has different access tiers
- Encryption in transit, achieved via SSL/TLS
- For S3 -> S3 transfers, Transfer Acceleration is a thing.
Bucket Policies
-
S3 buckets are private by default, ie only accessible by root account user.
- S3 bucket policy is a form of resource policy. It controls who can access S3
- unlimited objects in a bucket
-
a bucket, & objects inside a bucket are not the same thing
arn:aws:s3:::memes
- bucketarn:aws:s3:::memes/*
- objects in bucket
-
on bucket policy, what is the principal key responsible for?
Using S3 to host DJ mixes for Goosebumps
- create bucket
- edit bucket access policies
- IAM account for goosebumps app
- next api route (takes in a key as param, that’s item name or ID), and that route is what returns an audio stream
- cloudfront + S3?
npm install --save @aws-sdk/client-s3
- Amazon MediaConvert to make it streamable? or are the small file sizes negligible? 70MB to 350MB - this is probably overkill. S3 + cloudfront ought to be enough
Refs
- https://alexzywiak.github.io/streaming-audio-goodness-from-amazon-s3-to-the-clients-ears/index.html
- https://s3mediavault.com/how-why-use-amazon-s3-deliver-audio-video-pdf/#t-1608171628312
- https://blog.salvatorecozzubo.com/read-files-from-amazon-s3-using-node-js-f89be033ba12
- https://selectfrom.dev/connecting-aws-s3-buckets-to-next-js-25e903621c70