Как реализовать пользовательские квоты хранения, используя Amazon S3 в качестве хранилища, как это делает Dropbox

Очень нужны умные умы, чтобы помочь мне с этим. Я застрял! Я внедряю систему, в которой пользователям будет разрешено загружать видео и файлы на мой сайт. В настоящее время я предоставляю им ftp-доступ к их собственной учетной записи ftp-пользователя, куда они загружают необходимые файлы. FTP на Linux-сервере поддерживает пользовательские квоты.

Однако теперь мне нужно отойти от протокола загрузки по протоколу ftp и изучить систему загрузки файлов amazon s3 через http. ftp просто дает слишком много проблем с брандмауэрами, портами, активными, пассивными... список можно продолжить. :) В то время как загрузка http s3 будет зависеть от того, разрешит ли пользователь доступ в Интернет к настольному приложению, которое будет выполнять загрузку.

У меня все работает нормально до такой степени, что мне нужно установить квоту для каждого пользователя. Как реализовать квоты хранилища в такой системе, как Amazon s3, которая их не поддерживает? Я не могу предоставить неограниченный доступ своим пользователям, и я также не хочу размещать свой сервер посередине, потому что это просто означает, что мой сервер должен будет получить файл, а затем загрузить его на серверную часть на s3, что можно сделать с помощью монтирования s3 как диск, но потом снова вернулись к закачке по ftp на мои сервера на смонтированный диск s3.

Я хочу, чтобы мое приложение загружалось на сервер s3 напрямую, но сохраняло пользовательские квоты путем загрузки в псевдопапку amazon в 1 корзину. Каждый пользователь получит подпапку в корзине, в которую он загружает файлы.

Какой должна быть реализация/логика, чтобы это работало?

Должен ли я использовать другой сервер для мониторинга пользователя, просматривая файлы в /имя_ключа/, чтобы увидеть, сколько памяти используется этим именем, которое будет учетной записью пользователя? Разве это не будет стоить больших денег с точки зрения поддержания статуса использования каждой учетной записи в актуальном состоянии?

Помогите пожалуйста, мне нужна стратегия. Что-то похожее на реализацию хранения в dropbox на s3, но с ограничениями квоты для пользовательских загрузок.

7
задан Martin Serrano 24 November 2017 в 14:34
поделиться