Amazon S3存储桶,每天限制请求数,大小限制

时间:2020-10-12 18:58:25

标签: django amazon-web-services amazon-s3 file-upload

当前正在开发类似“社交网络”的网站,我计划使用Amazon S3存储桶来存储用户的个人资料图片。有谁知道是否有一种简单的设置方法:

  • 存储桶每天可以接受的最大请求数
  • 铲斗可以达到的最大尺寸
  • 给定图片的最大尺寸不得超过

我担心给定的用户会上传如此大的图片(或如此大量的图片,或创建如此多的配置文件),以至于我的亚马逊S3账单会飞涨……

(我知道可以设置一些“后验”警报,但是我正在寻找一种可以防止这种情况的解决方案。)

任何帮助都非常感谢!

2 个答案:

答案 0 :(得分:1)

S3中没有这样的配置来限制每天的上传请求或存储桶可以达到的最大大小。 如果您担心要上传大尺寸的照片,为什么不只是在前端进行呢?使用Web Files API,您可以获得选定的文件大小,并警告用户该文件大小超出限制。

答案 1 :(得分:1)

存储桶每天可以接受的最大请求数

S3每个文件夹每秒允许3500个PUT / DELETE / POST请求。因此,假设您的s3存储桶是“图片”,其中包含基于日期(yyyy / mm / dd)的文件夹。 因此,对于pics / 2020/01/01,pics / 2020/01/02,pics / 2020/01/03等路径中的每条路径,您都可以使用上述吞吐量。

铲斗可以达到的最大尺寸

桶没有尺寸上限。

给定图片的最大尺寸不得超过

S3的每个对象限制为5TB。因此,用户无法上传大于5TB的图片。显然,这不是您期望的极限。

要处理您的自定义限制,必须编写自定义代码。

我是否建议每当触发上传时使用AWS Lambda。所述Lambda可以验证图片的大小,甚至可以对其进行压缩(以节省S3存储成本)并上传到您的S3存储桶。