最好有多个s3存储桶或一个带子文件夹的存储桶?

问题描述 投票:43回答:2

最好是每个上传类别具有多个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/

amazon-web-services amazon-s3 boto
2个回答
41
投票

是的,每个帐户实际上有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都适合您。

希望这会有所帮助。


0
投票

具有多个存储桶的简单权限

如果在不同的用例中使用图像,则使用多个存储桶将简化权限模型,因为您可以为客户端/用户存储桶级别的权限而不是目录级别的权限。

2向门和迁移

类似地,在以后使用两个存储桶更加灵活。

1至2:如果您从1个存储桶切换到2个存储桶,则现在必须将所有客户端移至新设置。您将需要更新所有客户端的权限,这可能需要更改您和客户端的IAM策略。然后,您可以通过在过渡期间释放新的客户端库来移动客户端。

2到1:如果您从2个存储桶切换到1个存储桶,则您的客户端将已经可以访问1个存储桶。您需要做的就是更新客户端库,并在过渡期间将您的客户端移到该库上。

*如果您没有客户端库,则两种情况下都需要更改客户端代码。

© www.soinside.com 2019 - 2024. All rights reserved.