Лучший вариант хранилища AWS для экспорта каталогов в виде файлов .zip?

Я новичок в продуктах AWS, ruby ​​on rails, веб-разработке и кодировании любого типа. Для моего первого проекта после быстрого (и грязного) буткемпа я пытаюсь создать веб-сайт ruby-on-rails, который хранит изображения и позволяет пользователю загружать их в виде zip-файла. Я использовал гем RubyZip, чтобы выполнить это в своей среде разработки EC2, но я развернул Elastic Beanstalk с файловым хранилищем S3, и гем RubyZip, похоже, не может справиться с этой структурой без традиционных целевых каталогов для архивирования.

Мой вопрос в том, что лучше всего настроить для достижения этой функциональности в EB? Несмотря на ограничение ruby, архивирование каталога S3 кажется сложно. Должен ли я перейти на EFS или другую систему хранения? Я планирую регулярно стирать папки и ограничивать их примерно 100 фотографиями, поэтому длительное хранение и хранение большого размера не являются проблемой. Большое спасибо!

Изменить: я привязан к Ruby (единственный язык, который я знаю), но не к RubyZip, AWS или чему-либо еще, если они не являются лучшим подходом для этой задачи.


person Luke Rogers    schedule 14.02.2019    source источник


Ответы (1)


Я думаю, что вы на правильном пути, если используете S3 в качестве решения. Проблема, с которой вы столкнулись, заключается в том, что когда вы взаимодействуете с S3, это не похоже на папку в вашей локальной системе, вместо этого вы используете S3 API для взаимодействия с файлами. (загружать, редактировать, удалять и т.д.). Это проблема, с которой вы столкнетесь при использовании любого решения для хранения данных на базе AWS.

Я думаю, что решение в вашем случае состоит в том, чтобы получить все фотографии и загрузить их во временную папку в вашей локальной системе. Затем вы можете заархивировать их локально с помощью Ruby. После того, как он будет заархивирован, загрузите его обратно на S3.

Редактировать: локально я имею в виду сервер, на котором работает приложение Ruby (не на стороне клиента)

person Oscar W    schedule 14.02.2019