azure - 批量复制/删除容器中的一些blob

标签 azure azure-storage azure-cli azcopy

我有数千个容器,每个容器内最多有 10k 个 blob。我有一个元组列表 (container, blob)

  1. 复制到另一个存储
  2. 稍后在原始存储中删除

容器中的 blob 彼此不相关 - 随机日期创建、随机名称(guid),没有任何共同点。

问:有什么有效的方法来完成这些操作吗?

我已经查看了 az-cliazcopy 但没有找到任何好的方法。 我尝试过例如为每个元组重复调用azcopy,但这需要很长时间。一次复制 blob 的调用平均需要 2 秒。所以它在后台启动操作很好,但是如果这个“启动操作”需要大约 2 秒,那么对于我的情况来说它就毫无用处。

最佳答案

根据评论,我假设每个容器内都有任意数量(和命名)的要复制和删除的 blob。并且删除仅针对复制的 blob(而不是整个容器)。如果是这样,并且想要使用 REST 之外的其他内容,一个建议是 Powershell 脚本从文件中读取要复制的 blob 列表(服务端复制),然后单独执行删除(执行复制更有效,如果成功,则删除)例如https://learn.microsoft.com/en-us/powershell/module/az.storage/get-azstorageblobcopystate?view=azps-4.7.0#example-4--start-copy-and-pipeline-to-get-the-copy-status

干杯,克拉斯[微软]

关于azure - 批量复制/删除容器中的一些blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64279120/

相关文章:

azure - 在 Azure 存储中读取和写入文本文件

azure - AZ CLI - 将所有资源组列出为空

azure - `az devops login` 和 `az login` 仍然请求个人访问 token

azure - 无法使用 Azure CLI 清除 Azure CDN 端点

Azure Web 应用程序容器和 docker 命令

PurgeAsync 之后的 Azure 移动服务将 UpdateAt 过滤器添加到下一个 PullAsync 调用

azure - 如何将.NET Core应用程序部署到Azure Service Fabric

azure - 无法通过 VPN 从本地专用 IP 网络访问 Azure Key Vault。 IP私有(private)地址范围被禁止

c# - 更新 Azure Staging 部署将创建新的 url

c# - 在 C# SDK 中使用存储连接字符串通过 URI 访问 blob