Как создать sub контейнер в голубом месте хранения

Как создать sub контейнер в голубом месте хранения.

Сообщите нам

61
задан David Makogon 31 January 2012 в 20:31
поделиться

2 ответа

Windows Azure не предоставляет концепцию иерархических контейнеров, но предоставляет механизм перемещения по иерархии с помощью конвенции и API. Все контейнеры хранятся на одном уровне. Вы можете получить аналогичную функциональность, используя соглашения об именовании для имен ваших контейнеров.

Например, вы можете создать контейнер с именем "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

Обратите внимание, что эти блобы представляют собой плоский список в контейнере "content". При этом использование символа "/" в качестве условного разделителя дает вам возможность просматривать их в иерархическом порядке.

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 за вдохновение ]

110
ответ дан 24 November 2019 в 17:13
поделиться

Вы имеете в виду хранилище BLOB-объектов? В таком случае иерархия выглядит просто StorageAccount / Container / BlobName. Вложенных контейнеров нет.

При этом вы можете использовать косую черту в имени большого двоичного объекта для имитации вложенных контейнеров в URI. См. эту статью в MSDN для получения подробных сведений об именах.

10
ответ дан 24 November 2019 в 17:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: