Создание учетных записей FTP с Rails + S3 - PullRequest
2 голосов
/ 27 ноября 2010

Есть ли способ поместить учетную запись ftp в определенную папку внутри корзины в s3 с rails?

Мне нужно, чтобы пользователи загружали файлы через ftp в папку пакета.Поскольку файлы имеют большой размер и большие количества, я полагаю, что лучший выбор - через FTP и избегайте загрузки через Интернет.

Допустим, у меня есть модель User с коллаборатором.Когда он является соавтором, он может войти со своим именем пользователя (user1) / паролем, скажем, на ftp.mysite.com и перейти на

s3.amazonaws.com / mybucket / batches / users / user1

Есть идеи, как это сделать?

Спасибо.

1 Ответ

1 голос
/ 27 ноября 2010

Поскольку пользователи взаимодействуют с FTP, а не с веб-приложением, вместо веб-приложения Rails можно реализовать простой сценарий Ruby.

  • У каждого пользователя есть своя зона FTP для загрузки файлов; ftp.mysite.com/user1, ftp.mysite.com/user2, ...
  • Периодически скрипт проверяет наличие нового файла в пользовательской папке FTP с использованием net/ftp стандартной библиотеки
  • Если есть, загружает файл так S3 через AWS :: S3 , в конце концов создавая папку в корзине S3, если ее не хватает
  • После загрузки на S3 файл удаляется с FTP

Примечания:

  1. Каждый пользователь должен иметь доступ только к собственной папке FTP, а скрипт Ruby должен иметь доступ к любой папке FTP
  2. Если ваши пользователи могут использовать FTP, они, вероятно, могут использовать Amazon S3 Organizer (S3Fox) , Cyberduck или другой клиент S3. Создайте корзину, пользователей и папки, затем поиграйтесь с S3 ACL, чтобы определить их привилегии.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...