我正在将我的代码重构为Azure.Storage.Blobs,因为windowsAzure.Storage正在被降级。不过,我没有办法删除“直接”一词。在旧图书馆里,你可以这样做:
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();
}但是我看不到与新包类似的代码。有什么指示吗?
发布于 2021-03-14 00:48:29
您可以使用GetBlobsByHierarchy方法在您的目录中使用列表浮标,然后删除它们。
请参阅我的代码:
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);
}
}https://stackoverflow.com/questions/66616488
复制相似问题