2012-01-06 5 views
1

可能性の重複:
How to create a sub container in azure storage locationのWindows AzureのBLOBの使用の代わりに、フォルダ

私は、Windows Azureの下で働くようにアプリケーションを移行したいです。アプリケーションでは、サーバー上の特定のフォルダにファイルをアップロードしています。このフォルダには他の入れ子になったフォルダが含まれ、これらの入れ子になったフォルダにはファイルが含まれます。以下

は、いくつかの例です:

  • 仕入/ CV/CV1.docx
  • 仕入/ Picsの/ Pic1.jpeg
  • 仕入/ Picsの/ Pic2.jpeg今

でWindows Azureでは、ファイルを保存するためにBLOBストレージを使用したいと考えています。 BLOBの問題は、コンテナがあり、ネストされたコンテナを作成してファイルを整理できないことです。

誰でも私のファイルを保存するための最良のソリューションを見つけるのを助けることができます。

答えて

1

Windows Azureドライブを使用することもできます。これは、標準のハードディスクドライブと同じように動作します。 "X:"実際にAzure BLOBにファイルを保存します。これにより、レガシーアプリケーションで常に行ったように、ファイルを操作することができます。このarticle

AのWindows Azureのドライブから

は、サーバのファイルシステムにマウントされているローカルNTFSボリュームとして機能し、それが役割で実行されているコードからアクセス可能です。 Windows Azureドライブに書き込まれたデータは、Windows Azure Blobサービス内で定義されたページブロブに格納され、ローカルファイルシステムにキャッシュされます。ドライブに書き込まれたデータはページブロブに格納されるため、ロールインスタンスがリサイクルされていてもデータは保持されます。このため、Windows Azureドライブを使用して、サードパーティのデータベースアプリケーションなど、状態を維持する必要があるアプリケーションを実行できます。

new BlobRequestOptions { UseFlatBlobListing = true } 


あなたは:あなたは、このようにブロブコンテナを操作する必要があります唯一のオプションはfolowingオプションを使用することで、ファイルに

を保存するためにAzureブロブストレージを使用することができます

+1

Azureドライブにはライターが1人しかいない可能性があります。アプリケーションが、WebまたはWorkerロールの複数のインスタンスがファイルアップロードを受け入れるようなものである場合、それらは同じAzureドライブに書き込むことができません。 –

2

この文章を使用してファイルを一覧表示することができます:

yourContainer.ListBlobs(new BlobRequestOptions { UseFlatBlobListing = true }); 

会社名/ Picsの/写真2

  • 仕入/ Picsの/ Pic1.jpeg
    • 仕入/ CV/CV1.docx
    • :彼らはそのように表示されます。JPEG


    あなたはこのようなファイルあなたを取得することができるようになります:

    yourBlob.DownloadToFile("CompanyName/Pics/Pic2.jpeg", new BlobRequestOptions { UseFlatBlobListing = true }); 
    


    あなたはここにこのオプションの詳細な情報を見つけることができます。 Msdn Definition of the UseFlatBlobListing Property

  • 1

    をすることができますクラウドドライブを使用すると、アプリケーションにNTFS仮想ドライブをマウントできます。

    しかし、私は最良の解決策は、BLOBストーリエデリミタを使用することだと思います。サブコンテナは作成できませんが、区切り文字付きのブロブを追加できます。たとえば、 Container_Name/books/book1.doc Container_Name/books/book2.doc Container_Name/images/img1.jpg 区切り文字を指定することで、ブロブを一覧表示できます。

    関連する問題