我是AWS产品的新手,适用于Rails,Web开发和任何类型的编码。对于快速(肮脏的)训练营之后的第一个项目,我正在尝试构建一个ruby-on-rails网站,该网站存储图像并允许用户将其下载为zip文件。我在我的EC2开发环境中使用RubyZip gem来完成此任务,但是我已经通过S3文件存储将其部署到Elastic Beanstalk,并且如果没有传统的用于压缩的目录目标,RubyZip gem似乎无法处理此结构。
我的问题是在EB中实现此功能的最佳设置是什么?忽略ruby约束,压缩一个S3目录seems tricky。我应该迁移到EFS还是其他存储系统?我计划定期删除这些文件夹,并将它们限制为〜100张照片,因此长期和大容量存储将不再是问题。非常感谢!
编辑:我依附于Ruby(仅我知道的语言),但不喜欢RubyZip,AWS或其他很多东西,如果它们不是执行此任务的最佳方法。
答案 0 :(得分:1)
就使用S3作为解决方案而言,我认为您走在正确的道路上。您面临的问题是,当您与S3进行交互时,它不像本地系统上的文件夹,而是您要点击S3 API来与文件进行交互。 (上传,编辑,删除等)。每个基于AWS的存储解决方案都会遇到这个问题。
对于您而言,我认为解决方案是获取所有照片并将它们下载到本地系统上的临时文件夹中。然后,您可以在本地使用Ruby压缩它们。压缩后,将其上传回S3。
编辑:在本地是指运行Ruby应用程序的服务器(不是客户端)