Как реализовать пользовательские квоты хранилища, используя Amazon S3 в качестве хранилища, как в Dropbox - PullRequest
7 голосов
/ 27 марта 2012

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

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

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

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

Какова будет реализация / логика для этой работы?

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

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

Ответы [ 2 ]

1 голос
/ 31 октября 2012

Вы должны будете отслеживать квоту на своем собственном сервере.

Если у вас есть контроль над клиентом, вы можете потребовать, чтобы он отправил размер файла на ваш сервер до загрузки в amazon,и отрицать это, если оно превысит квоту.

Если вы этого не сделаете, вы можете разрешить загружать

0 голосов
/ 01 февраля 2017

Если вам нужно пользовательское хранилище, вам может подойти AWS WorkDocs.Создание Bucket для каждого пользователя не является альтернативным вариантом, поскольку количество Buckets, которое вы можете создать, очень ограничено.

Однако я не могу сказать вам, как реализованы квоты.

...