最好是每个上传类别具有多个s3存储桶,或者具有子文件夹的一个存储桶或一个链接的s3存储桶?我知道可以肯定会有更多的用户图片,并且每个存储桶有5TB的限制,每个帐户有100个存储桶。我正在使用aws boto库和https://github.com/amol-/depot
执行此操作以下哪种方式显示我的文件夹的结构?
/app_bucket
/profile-pic-folder
/user-images-folder
OR
profile-pic-bucket
user-images-bucket
OR
/app_bucket_1
/app_bucket_2
[最后一个表示它实际上是一个10TB的存储桶,当bucket_1中的文件超过5TB时会在其中创建一个新的存储桶。但是,所有上传内容的读取方式就像在一个存储桶中一样。还是有一种更好的方式来做我想做的事情?非常感谢!
我不确定这是否正确...每个帐户100个存储桶?
https://www.reddit.com/r/aws/comments/28vbjs/requesting_increase_in_number_of_s3_buckets/
是的,每个帐户实际上有100个存储桶限制。我在AWS事件中向架构师询问了原因。他说这是为了避免人们在S3上托管无限的静态网站,因为他们认为这可能会被滥用。但是您可以申请增加。
默认情况下,每个AWS最多可以创建100个存储桶 帐户。如果您需要其他存储桶,则可以增加存储桶 通过提交服务限制增加限制。
来源:http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html
此外,请注意,S3中实际上没有文件夹,只有平面文件结构:
Amazon S3的结构扁平,没有层次结构,就像您在 典型的文件系统。但是,为了组织起来 简单起见,Amazon S3控制台将文件夹概念作为 分组对象的手段。 Amazon S3通过使用键名来实现 对象的前缀。
来源:http://docs.aws.amazon.com/AmazonS3/latest/UG/FolderOperations.html
最后,5TB限制仅适用于单个对象。对对象的数量或存储桶的总大小没有限制。
问:我可以存储多少数据?
您可以存储的数据总量和对象数量为 无限。
来源:https://aws.amazon.com/s3/faqs/
另外,文档指出,使用单个存储桶或多个存储桶之间没有性能差异,因此我认为选项1和2都适合您。
希望这会有所帮助。
如果在不同的用例中使用图像,则使用多个存储桶将简化权限模型,因为您可以为客户端/用户存储桶级别的权限而不是目录级别的权限。
类似地,在以后使用两个存储桶更加灵活。
1至2:如果您从1个存储桶切换到2个存储桶,则现在必须将所有客户端移至新设置。您将需要更新所有客户端的权限,这可能需要更改您和客户端的IAM策略。然后,您可以通过在过渡期间释放新的客户端库来移动客户端。
2到1:如果您从2个存储桶切换到1个存储桶,则您的客户端将已经可以访问1个存储桶。您需要做的就是更新客户端库,并在过渡期间将您的客户端移到该库上。
*如果您没有客户端库,则两种情况下都需要更改客户端代码。