如何删除Azure blob容器中的文件夹
如何删除Azure blob容器中的文件夹
我在Azure中有一个名为pictures
的blob容器,在其中有多个文件夹(如下图所示):
我正在尝试删除快照中显示的名为users
和uploads
的文件夹,但我一直收到错误提示:Failed to delete blob pictures/uploads/. Error: The specified blob does not exist.
有没有人可以告诉我如何删除这两个文件夹? 我在谷歌上搜索这个问题,但没有找到有意义的东西。
注:如果需要,可以向我询问更多信息。
admin 更改状态以发布 2023年5月23日
微软也有一个桌面存储资源管理器。它具有一个功能,您可以选择虚拟文件夹,然后有效地删除它,从而删除所有子 Blob。
https://azure.microsoft.com/en-us/features/storage-explorer/
Windows Azure Blob Storage 没有文件夹的概念。层次结构非常简单:存储帐户 > 容器 > Blob。实际上,删除特定文件夹就是删除所有以该文件夹名称开头的 Blob。您可以编写以下简单代码来删除文件夹:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("your storage account"); CloudBlobContainer container = storageAccount.CreateCloudBlobClient().GetContainerReference("pictures"); foreach (IListBlobItem blob in container.GetDirectoryReference("users").ListBlobs(true)) { if (blob.GetType() == typeof(CloudBlob) || blob.GetType().BaseType == typeof(CloudBlob)) { ((CloudBlob)blob).DeleteIfExists(); } }
container.GetDirectoryReference("users").ListBlobs(true) 列出“picture”容器中以“用户”开头的 Blob,然后您可以逐个删除它们。要删除其他文件夹,只需像这样指定 GetDirectoryReference("您的文件夹名称") 即可。