我有一个允许用户上传文件的 webapp(称为 myapp.com)。webapp 将部署在 Amazon EC2 实例上。我想通过基于 s3 存储桶的域(即 uploads.myapp.com)将这些文件提供给 webapp 消费者。
当用户上传文件时,我可以轻松地将它们放入本地 ec2 实例上名为“site_uploads”的文件夹中。但是,由于我的 ec2 实例的存储空间有限,上传的次数很多,ec2 文件系统会很快填满。
如果 ec2 实例可以挂载和 s3 存储桶作为“site_upload”目录,那就太好了。这样上传到 EC2 的“site_upload”目录就会自动在 uploads.myapp.com 上结束(并且我的 webapp 可以使用模板标签来确保此上传内容的链接基于该 s3 支持的域)。这也为我提供了可扩展的文件服务,因为文件请求命中 s3 而不是我的 ec2 实例。此外,它使我的 web 应用程序可以轻松地对出现在“site_upload”本地但实际上在 s3 上的图像执行缩放/调整大小。
我在看 s3fs,但从评论来看,它看起来不像是一个完全成熟的解决方案。我正在寻找一个非商业的解决方案。
仅供参考,webapp 是用 django 编写的,并不是说这会改变太多细节。