【问题标题】:How to create empty folder in azure blob storage如何在 Azure Blob 存储中创建空文件夹
【发布时间】:2014-12-30 08:17:27
【问题描述】:

如何在 azure blob 存储中创建空文件夹,就像工具“Azure Explorer”中的空文件夹一样

【问题讨论】:

    标签: azure directory blob


    【解决方案1】:

    从技术上讲,Azure Blob 存储中不能有空文件夹,因为 Blob 存储有 2 级层次结构 - Blob 容器和 Blob。您实际上是通过在文件名前面加上您喜欢的文件夹名称来创建文件夹的错觉,例如假设您想要在 css 文件夹中的样式表(例如 site.css),您将样式表文件命名为 css/site.css

    一些工具的作用是为了创建一个空文件夹,它们创建一个零字节 blob,并在其前面加上文件夹名称,然后不显示该零字节 blob。如果你愿意,你可以这样做。

    【讨论】:

    • 非常感谢,我也尝试创建一个零字节 blob,但我不知道如何隐藏此文件
    • 所以你不能真正隐藏 blob。您所做的是在列出 blob 时,从 blob 列表中删除 blob 并显示其他 blob。但是请记住,如果人们尝试通过其他工具访问您的 blob 存储,他们将能够看到此 blob。
    • 好答案。一些工具使用 $$$.$$$ 作为“空白 blob”的约定。见stackoverflow.com/questions/10445830/…
    【解决方案2】:

    这是使用 Linux 的一种方法。

    az storage blob upload --container-name <container name> --name <folder name> -f /dev/null --account-name <storage account name>
    
    • 文件名以斜杠结尾(例如myfolder/
    • CLI 需要一个文件,所以什么都不上传(即/dev/null/

    【讨论】:

      【解决方案3】:

      Gaurav 的观点很好理解。

      虽然在实践中,当在 bash 中使用 hdfs cli 时,我发现您不能只是重命名文件(像往常一样使用 mv)如果子目录您尝试“创建”的内容尚不存在。

      不过,您可以使用
      hdfs dfs -mkdir -p wasb://container-name@account-name.blob.core.windows.net/sub-dir-name

      随后是
      hdfs dfs -mv wasb://container-name@account-name.blob.core.windows.net/file-name wasb://container-name@account-name.blob.core.windows.net/sub-dir-name/file-name

      【讨论】:

        【解决方案4】:

        如果您有 ADLS Gen2,这是可能的。更多详情请参考以下网址Creating a hierarchical container directory using PowerShell in Azure ADLS Gen2 storage account

        【讨论】:

        猜你喜欢
        • 2019-05-18
        • 2020-10-14
        • 1970-01-01
        • 2012-01-25
        • 2015-09-11
        • 2015-07-11
        • 2021-01-30
        • 2019-10-23
        • 2021-04-20
        相关资源
        最近更新 更多