2016-03-27 9 views
2

ASP.NET MVC、C#を使用してクラウドストレージアプリケーションを作成し、Azureストレージと統合する必要があります。ASP.NETとAzureでクラウドストレージアプリケーションを作成する

私は現在、ユーザが登録して、その詳細をSQLデータベースに安全に保存するための機能的なインターフェイスを持っています。 this tutorialをガイドラインとして使用して作成されたAzure Blobストレージを使用する基本的なファイルアップローダーもあります。

私の質問は、ユーザーが独自のコンテナー/ページにファイルにアクセスできるようにする方法です。現時点では、ファイルアップローダとAzureコンテナは共有されているため、アカウントを持つ誰でもアップロードを表示および編集できます。私はこれを制限して、各ユーザーが他のユーザーによって読み取られたり変更されたりできない独自の空間を持つようにしたいと考えています。

私は回答を検索しましたが、私のニーズに合ったものは見つかりませんでした。アドバイスをいただければ幸いです。

答えて

2

私の質問は、ユーザーに独自のコンテナ/ページを提供して、 のファイルにのみアクセスできるようにする方法です。

これを達成する1つの方法は、コンテナをユーザーに割り当てることです。ユーザーがサインアップすると、登録プロセスの一環として、ユーザー用のBlobコンテナーが作成され、コンテナーの名前とユーザーに関するその他の詳細が保管されます。ユーザーがサインインすると、この情報がフェッチされ、そのコンテナーからのみファイルが表示されます。同様に、ユーザーがファイルをアップロードすると、そのコンテナにのみファイルが保存されます。

あなたが検討する必要がありますいくつかのこと:

  • あなたは、コンテナのサイズ上の任意のハード制限を設定することはできません。したがって、コンテナはストレージアカウントのサイズと同じくらい大きくなる可能性があります。ユーザーがアップロードできるデータの量にいくつかの制限を設ける場合は、アプリケーションのストレージ外にあるデータを管理する必要があります。 Azure File Serviceが必要な場合は、それを調べることもできます。 Azure File Serviceでは、共有のサイズ(Blobコンテナに相当)を制限することができます。
  • 複数のストレージアカウントに負荷を分散して、スループットを向上させることもできます。コンテナ名と一緒にこのルートを下ることに決めた場合は、ストレージアカウント名とユーザー情報も一緒に保存する必要があります。
+0

入力いただきありがとうございます。それは完璧な計画のように思えます。あなたはプロセスを通して私を導くことができるチュートリアルを知っていますか?私はASP.NETをよく知っていて、私はまだ物事のハングを取得しています。 – Sam

+0

ブロブストレージを使い始める際は、このガイドを参照してください:https://azure.microsoft.com/en-in/documentation/articles/storage-dotnet-how-to-use-blobs/ –

+0

それは今働いている。ご助力ありがとうございます! – Sam

0

ドキュメント名は、ユーザーのアカウントにリンクされた別のSQLデータベースに格納します。それからそれらに特にリンクされたファイル名を持つファイルだけをユーザーに表示してください。私は以前このアーキテクチャを使っていましたが、それは魅力のように機能します。ただし、このモデルを実装する前に、各ファイル名にGuidまたはその他の一意の識別子を付ける必要があります。

関連する問題