ChatGPT解决这个技术问题 Extra ChatGPT

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

每个上传类别有多个 s3 存储桶还是一个带有子文件夹的存储桶或一个链接的 s3 存储桶更好?我确信用户图片的数量会比 proille-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

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

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

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


V
Volkan Paksoy

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

希望这可以帮助。


所述性能差异对存储桶的应用与对密钥的应用相同。在这个问题的背景下,没有区别。
“文档说明......之间没有性能差异。”你能引用这个来源吗?
f
fileyfood500

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

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

2 向门和迁移

类似地,使用 2 个存储桶在未来会更加灵活。

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

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

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


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅