I am refactor my code to Azure.Storage.Blobs as windowsAzure.Storage is getting depricated. However I have not found anyways to delete a "directoty". In the old library you could do something like:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(Config.StorageConnStr);
CloudStorageAccount account = CloudStorageAccount.Parse(StorageConnection);
CloudBlobClient blobClient = account.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(ExportContainerName);
CloudBlobDirectory folder = container.GetDirectoryReference(jobid.ToLower());
var blobs = folder.ListBlobs();
foreach (var blob in blobs)
{
((CloudBlob)blob).DeleteIfExists();
}
But I cannot see any similar code with the new package. Any pointers?
You can use the GetBlobsByHierarchy method to list blobs in your directory, and then delete them.
Please refer to my code:
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(containerName);
var resultSegment = containerClient.GetBlobsByHierarchy(BlobTraits.None, BlobStates.None, "/", "frankfolder/").AsPages(default, 100);
foreach (Azure.Page<BlobHierarchyItem> blobPage in resultSegment)
{
foreach (BlobHierarchyItem blobhierarchyItem in blobPage.Values)
{
Console.WriteLine("Blob name: {0}", blobhierarchyItem.Blob.Name);
containerClient.DeleteBlob(blobhierarchyItem.Blob.Name);
}
}