Azureストレージの場所にサブコンテナーを作成する方法。
お知らせください
Windows Azureは、階層コンテナーの概念を提供しませんが、規則とAPIによって階層を横断するメカニズムを提供します。すべてのコンテナは同じレベルに保存されます。 BLOB名に命名規則を使用することにより、同様の機能を得ることができます。
たとえば、「content」という名前のコンテナを作成し、そのコンテナに次の名前のブロブを作成できます。
content/blue/images/logo.jpg
content/blue/images/icon-start.jpg
content/blue/images/icon-stop.jpg
content/red/images/logo.jpg
content/red/images/icon-start.jpg
content/red/images/icon-stop.jpg
注これらのblobは、「コンテンツ」コンテナに対するフラットリストであることに注意してください。つまり、従来の区切り文字として「/」を使用すると、これらを階層的に横断する機能が提供されます。
protected IEnumerable<IListBlobItem>
GetDirectoryList(string directoryName, string subDirectoryName)
{
CloudStorageAccount account =
CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
CloudBlobClient client =
account.CreateCloudBlobClient();
CloudBlobDirectory directory =
client.GetBlobDirectoryReference(directoryName);
CloudBlobDirectory subDirectory =
directory.GetSubdirectory(subDirectoryName);
return subDirectory.ListBlobs();
}
これを次のように呼び出すことができます。
GetDirectoryList("content/blue", "images")
注GetBlobDirectoryReferenceおよびGetSubDirectoryメソッドとCloudBlobDirectoryタイプではなくCloudBlobContainer。これらは、おそらくあなたが探している走査機能を提供します。
これは、始めるのに役立つはずです。これで質問に答えられない場合はお知らせください。
[ Neil Mackenzie に感謝します]
BLOBストレージを参照していますか?その場合、階層は単にStorageAccount/Container/BlobNameです。ネストされたコンテナはありません。
そうは言っても、ブロブ名にスラッシュを使用して、URIのネストされたコンテナーをシミュレートできます。命名の詳細については、 MSDNのこの記事 をご覧ください。
私は答えをtobintに同意し、このディレクトリを作成してゲームhtmlをAzure Storageにアップロードするのと同じ方法が必要なので、この状況を追加したいと思います:
あなたの推奨の後、Azure Storage Explorerであるツールでコンテンツをアップロードしようとしましたが、このURLでツールとソースコードをダウンロードできます: Azure Storage Explorer
まず、ツールを使用してアップロードしようとしましたが、必要がないため、階層ディレクトリのアップロードはできません: blobコンテナにサブディレクトリを作成する方法
最後に、Azure Storage Explorerのソースコードをデバッグし、StorageAccountViewModel.csファイルのBackground_UploadBlobsメソッドとUploadFileListフィールドを編集しました。あなたはそれをあなたが望むものを編集することができます。私はスペルミスをしたかもしれません:/すみませんが、それは私のお勧めです。