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

use*_*981 30 amazon-s3 boto amazon-web-services

每个类别的上传或一个带子文件夹或链接的s3存储桶的多个s3存储桶更好吗?我知道肯定会有更多的用户图像,而不是有profille-pics,每个桶有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
Run Code Online (Sandbox Code Playgroud)

最后一个意味着它实际上是一个10TB存储桶,当bucket_1中的文件超过5TB时会创建一个新存储桶.但是所有上传内容都会像在一个存储桶中一样被读取.或者有更好的方法来做我想做的事情吗?非常感谢!

我不确定这是否正确...每个帐户100个桶?

https://www.reddit.com/r/aws/comments/28vbjs/requesting_increase_in_number_of_s3_buckets/

Vol*_*soy 31

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

希望这可以帮助.

  • 所述性能差异适用于桶和键。在这个问题的上下文中,没有区别。 (2认同)

fil*_*500 15

使用多个存储桶更简单的权限

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

2 路门和迁移

类似地,使用 2 个桶会更加灵活。

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

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

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