【问题标题】:How to rename file/directory (not Blob file) in Azure Storage (not Blob storage)?如何在 Azure 存储(不是 Blob 存储)中重命名文件/目录(不是 Blob 文件)?
【发布时间】:2018-11-07 19:51:06
【问题描述】:

我认为这将是一项非常容易的工作,但正如我所研究的那样,我没有发现如何重命名 Azure 存储中的文件或目录。

我不想进行复制/删除(文件/目录的大小非常大),我只想通过 C# 以编程方式更改给定文件/目录的名称。

编辑:我说的是 CloudFile/CloudFileDirectory 对象。

有人可以帮我吗?

【问题讨论】:

  • 您是指在附加的 SMB3 驱动器上吗?那应该只是File.Move()
  • 我说的是 CloudFile/CloudFileDirectory。没有 Move() 方法。
  • 云存储提供商(AWS、S3、Openstack)中没有目录。目录结构根本无法扩展到云存储大小。容器/桶包含文件的平面列表,并将特定字符解释为“路径分隔符”以模拟目录

标签: c# azure azure-blob-storage


【解决方案1】:

您谈论的是 Azure 文件。 与 Azure Blob 存储类似,没有重命名/移动功能,因此您必须复制文件(例如使用 StartCopyAsync),然后使用 @ 删除它987654322@ 方法。

我写了一篇关于如何Rename Azure Storage Blob using PowerShell 的博客文章(可能同样适用于 Azure 文件)

【讨论】:

    【解决方案2】:

    通过 SDK 的简单解决方案行不通。 REST API 不支持重命名功能,因此所有包装器(Azure CLI、SDK 等)都没有它。 Azure 存储资源管理器 工具可以“重命名”,但在后台它会克隆文件夹/文件而不是重命名(同样,it's working via API)

    Azure 反馈门户上的哭墙在这里,请点赞:

    文件共享映射

    不过,如果您有一定的灵活性,您可以在 Windows、Linux 或 macOS 上使用 SMB 装载 Azure 文件共享。它确实对 SM 进行了真正的重命名。而对于您的应用,它只是普通的磁盘 I/O 操作。

    【讨论】:

    • 您提到的链接不再有效。请修复它们或在此处复制并粘贴一个文本块,以便将来人们尝试寻找答案时即使链接已损坏也能找到它们。
    【解决方案3】:

    如果您想手动重命名 Azure blob 文件夹,您可以下载下面给出的 Azure 存储资源管理器工具,连接到您的 blob 存储,您可以重命名 blob 文件夹,也可以克隆 blob 文件。

    Azure storage explorer tool

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      • 1970-01-01
      • 2012-05-20
      • 2019-11-27
      • 2021-07-09
      • 2020-03-27
      • 2018-08-12
      相关资源
      最近更新 更多