我有数千个容器,每个容器内最多有 10k 个 blob。我有一个元组列表 (container, blob)
到
- 复制到另一个存储
- 稍后在原始存储中删除
容器中的 blob 彼此不相关 - 随机日期创建、随机名称(guid),没有任何共同点。
问:有什么有效的方法来完成这些操作吗?
我已经查看了 az-cli
和 azcopy
但没有找到任何好的方法。
我尝试过例如为每个元组重复调用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/