Удаление папки из контейнера BLOB-объектов - PullRequest
0 голосов
/ 09 ноября 2018

Мне нужно удалить папку из контейнера больших двоичных объектов в учетной записи хранения Azure. Структура папок выглядит следующим образом:

container -> failed -> profiles

Я подключаюсь к контейнеру следующим образом:

CloudBlobClient blobClient = StorageAccountManager.getStorageAccount(ConnectionString));
var container = blobClient.GetContainerReference(container_name);

Я пытаюсь обратиться к определенной папке следующим образом:

var blob = container.GetBlockBlobReference(failed + "/" + directory);

Я также попробовал следующие способы:

((CloudBlob)blob).DeleteIfExists(); 
blob.DeleteIfExists();
blob.DeleteAsync();

но ни один из них не удаляет папку в моем хранилище BLOB-объектов. Я что-то упустил или я делаю что-то не так?

1 Ответ

0 голосов
/ 09 ноября 2018

Папки в хранилище Azure на самом деле не создаются и не удаляются, они существуют до тех пор, пока в них хранятся большие двоичные объекты. Чтобы удалить папку, нужно извлечь все капли в ней, используя ListBlobsSegmentedAsync и вызывая DeleteIfExists() для каждого из них.

...