azure - 如何删除 Azure Blob 容器中的文件夹

标签 azure azure-storage azure-blob-storage

我在 Azure 中有一个名为 pictures 的 Blob 容器,其中包含各种文件夹(请参阅下面的快照):

enter image description here

我尝试删除快照中显示的名为 usersuploads 的文件夹,但我保留了错误:无法删除 blob 图片/上传/。错误:指定的 blob 不存在。 有人能告诉我如何删除这两个文件夹吗?我无法通过谷歌搜索此问题发现任何有意义的内容。

注意:如果您需要更多信息,请向我询问

最佳答案

Windows Azure Blob 存储没有文件夹的概念。层次结构非常简单:存储帐户 > 容器 > 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) 列出“图片”容器中以“用户”开头的 Blob,然后您可以单独删除它们。要删除其他文件夹,您只需这样指定 GetDirectoryReference("您的文件夹名称")。

关于azure - 如何删除 Azure Blob 容器中的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34727829/

相关文章:

Azure Devops Burndown Chart - 如何移动未完成的工作项/任务,以便冲刺未 100% 完成?

c# - MS BotFramework v4 中的对话框将其变量值保留在新对话中

java - 为任何给定大小的文件形成相等长度的 Base64 字符串

azure - 组织由 Azure 媒体服务创建的 Assets

azure - 使用 sFTP 服务面向 Azure 存储 blob

Azure 服务主体从容器注册表中提取镜像

visual-studio-2012 - Azure 云服务部署 - Azure 无法验证 SSL 证书

c# - 基于国家/地区的多个网站

c# - 无法上传到Azure Blob存储: The remote server returned an error: (400) Bad Request

c# - 对现有 blob 进行编码,而不是从本地文件夹上传