2012-03-27 4 views
7

これを手伝うためには本当に賢明な心が必要です。私は立ち往生している! 私は、ユーザーが自分のサイトにビデオやファイルをアップロードできるようにするシステムを実装しています。私は現在、必要なファイルをアップロードする自分のftpユーザーアカウントにftpアクセスを提供しています。 linuxサーバー上のFTPはユーザークォータをサポートしています。DropboxのようなストレージとしてAmazon S3を使用してユーザーストレージクォータを実装する方法

しかし、私はアップロードプロトコルをftpプロトコルから遠ざけて、httpを経由してamazon s3ファイルをアップロードしてみる必要があります。 ftpは単にファイアウォール、ポート、アクティブな、パッシブ..あまりにも多くの問題を与えます。 :) http s3のアップロードは、アップロードを行うデスクトップアプリケーションへのインターネットアクセスを許可するユーザーの問題に過ぎません。

私は、各ユーザーのクォータを設定する必要があるまでうまくいっています。 Amazon S3をサポートしていないシステムなどでストレージクォータを実装するにはどうすればよいですか?私は自分のユーザーに無制限にアクセスすることはできませんし、私のサーバーを中間に置いておきたいのは私のサーバーがファイルを受け取ってからs3へのバックエンドでアップロードしなければならないということだけです。ドライブとして、しかし再び私のサーバーにマウントされたs3ドライブにftpを介してアップロードに戻っていた。

自分のアプリケーションをs3サーバーに直接アップロードするが、1つのバケットのpsuedo amazonフォルダにアップロードすることでユーザークォータを維持したい。各ユーザーはアップロード先のバケットにサブフォルダを取得します。

この機能を実装するにはどうすればよいでしょうか?

/keyname /内のファイルを調べて、そのキー名で使用されているストレージの量がuseraccountであることを確認するために、別のサーバーをユーザーに監視させますか?これは、各アカウントの使用状況を最新の状態に保つという点で、多くの費用がかかりませんか?

助けてください、私は戦略が必要です。 s3に格納することのdropboxの実装に似ていますが、まだユーザアップロードのためのクォータ制限があります。

答えて

1

自分のサーバー上でクォータを追跡する必要があります。

クライアントを管理している場合は、アマゾンにアップロードする前にファイルサイズをサーバーに送信し、割り当て量を超えた場合にはファイルサイズを拒否する必要があります。

そうしないと、あなたは、ユーザーベースのストレージAWS WorkDocsは、あなたが探している解決策になるかもしれませんしたい場合

+0

ただ、これが支援できるかどうかを確認する必要があります。 https://docs.eucalyptus.com/eucalyptus/4.4/iam-guide/access_policy_quota.html https://docs.eucalyptus.com/ –

-1

をアップロードする可能性があります。 作成できるバケットの量が非常に限られているため、すべてのユーザーにバケットを作成することは選択肢の1つではありません。

しかし、クォータの実装方法はわかりません。

関連する問題