如何在 Windows Azure blob 容器中创建子目录并重命名目录

How to create sub directory in Windows Azure blob container and rename directory

如何在 Windows Azure blob 容器中创建子目录? 我知道我们可以使用像 "content/2015/images/mypicture.jpg".

这样的 blob 名称

但是我们需要更改父目录名称。子目录可能包含许多文件。更改子目录中的每个 blob 名称需要时间。这该怎么做? 我已阅读以下链接。但他们没有提到如何处理重命名父目录。谢谢

Windows Azure: How to create sub directory in a blob container

How to create a sub container in azure storage location

But we need to change parent directory name. Sub directory may contain many files. Change every blob name in sub directory will take time. How to do this?

因此,blob 存储中有两件事:

  1. 正如您所说,那里没有文件夹的概念。要创建文件夹的错觉,您可以在 blob 名称前加上所需的文件夹。
  2. Blob 存储本身不支持重命名功能。为了完成重命名,您需要对 blob 执行 2 个操作:复制+删除。

重命名 blob 存储中的文件夹的方法如下:

  1. 首先,您需要列出该文件夹中的所有 blob。您可以使用 ListBlobs 方法并将文件夹名称作为 prefix 参数传递。在这里查看我的回答:.
  2. 接下来,您需要复制这些 blob,因为您只是重命名文件夹,您基本上可以通过将 old folder name 替换为 new folder name 来创建 blob 的新名称。
  3. 复制 blob 后,您可以再次遍历 blob 并将它们一一删除。

您也可以将步骤2和步骤3结合起来,对每个blob进行复制+删除操作。所以你遍历了你的 blob 列表,首先用新名称复制它,删除它然后移动到下一个 blob。

底线是您需要对文件夹中的每个 blob 执行 Copy+Delete 以重命名该文件夹。