如何使用Amazon S3实现用户存储配额作为dropbox之类的存储

时间:2012-03-27 09:52:52

标签: upload amazon-s3 amazon dropbox quota

真的需要一些聪明的头脑来帮助我。我被卡住了! 我正在实施一个系统,允许用户将视频和文件上传到我的网站。我目前正在为他们提供ftp访问他们自己的ftp用户帐户,他们上传所需的文件。 Linux服务器上的FTP支持用户配额。

但是,现在我需要将我的上传协议从ftp协议移开,并通过http查看amazon s3文件上传系统。 ftp只是给防火墙,端口,主动,被动等问题太多了。列表继续。 :)虽然http s3上传只是用户允许互联网访问将要进行上传的桌面应用程序的问题。

我已经完成了一切工作,我需要为每个用户设置配额。如何在不支持它的Amazon s3等系统上实施存储配额?我不能无限制地访问我的用户,我不想把我的服务器放在中间,因为它只是意味着我的服务器必须接收文件然后在后端上传到s3,这可以通过安装s3来完成作为一个驱动器,但然后再次回到通过ftp上传到我的服务器到安装的s3驱动器。

我希望我的应用程序直接上传到s3服务器,但通过上传到1个存储桶中的psuedo amazon文件夹来维护用户配额。每个用户都会在他们上传到的存储桶中获得一个子文件夹。

使这项工作的实施/逻辑是什么?

我是否可以通过查找/ keyname /中的文件来监视用户,以查看该键名称将使用多少存储空间?这会不会花费很多钱来保持每个帐户使用状态的最新状态?

请帮忙,我需要一个策略。类似于存储在s3上的dropbox实现,但仍具有用户上传的配额限制。

2 个答案:

答案 0 :(得分:1)

您必须在自己的服务器上跟踪配额。

如果您可以控制客户端,您可以要求他们在上传到亚马逊之前将文件大小发送到您的服务器,如果它超出配额则拒绝它。

如果不这样做,您可以允许上传

答案 1 :(得分:-1)

如果您需要基于用户的存储,AWS WorkDocs可能是您正在寻找的解决方案。 为每个用户创建一个Bucket不是另一种选择,因为您可以创建的Buckets数量非常有限。

但是,我无法告诉您如何实施配额。