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

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

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

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

1 ответ

Решение

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

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

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

Другие вопросы по тегам