亚马逊s3限制每个用户的上传量

时间:2011-12-08 16:31:59

标签: php amazon-s3 cloud

我是Amazon S3的新手,我想用php编写一个小“dropbox”应用程序。因此,我想限制用户可以上传到特定限制的数据量,比方说1GB。我想为每个用户创建一个文件夹(S3支持文件夹或只有文件名,如/dir/filename.extension?)。是否有可能获得用户文件夹的大小并显示例如一个进度条与空间使用?每次用户想要上传文件时是否必须检查空间是否完全使用,或者是否有直接在S3中设置目录限制的解决方案?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

S3只有桶的概念,并且桶不能嵌套。此外,存储桶名称在所有S3中都必须是唯一的 - 所有用户的存储桶。

单个AWS账户的默认账户限制大约为90个桶,因此将其纳入您的设计中。

您可以从SDK中获取存储桶中的存储桶和单个文件的大小,但如果您有任何方法可以在本地保留该信息并且不必往返AWS就可以获得它,那么它将会便宜很多。

我知道没有内置的配额支持,因此您必须自己跟踪。此外,对于90个桶限制,您可能需要在S3存储桶内部实现某种虚拟化目录方案,以允许同一存储桶中的多个用户数据。