批量更改Azure blob的文件名

时间:2017-09-29 15:19:26

标签: azure azure-storage-blobs azure-blob-storage

如何为Azure blob文件名批量添加前缀

我要求一种有效的方法,可以在Azure存储上为~10M小型blob文件管理此操作。我的偏好是通过Python(如果可能的话)来做。

如果目前无法使用API​​,我可以采用哪些替代方案?

我需要使用azcopy从我的Azure存储中下载一系列blob文件(它给我的唯一差异化过滤器是基于前缀的过滤)。我需要一种解决方法来处理数百万个小型文件对象。我还打开基于文件名批量删除blob文件(并留下我需要的文件),如果推进的话。

1 个答案:

答案 0 :(得分:2)

  

如何批量添加Azure blob文件名的前缀?

添加前缀本质上是重命名存储API当前不支持的blob。此外,每个blob操作都是原子的,因为它可以在单个blob上工作。

要重命名blob,您需要执行2项操作 - CopyDelete。你要做的是先将blob复制到另一个blob。这个新blob的名称将是您要提供的名称,即前缀+原始blob名称。由于您在同一个blob容器中复制blob,因此它将是即时的。复制blob后,您将删除原始blob。

修改:批量删除

关于批量删除的评论,遗憾的是没有API可以这样做。您需要单独删除每个blob。如果要重命名容器中的所有blob,则可以加快此操作。在这种情况下,您只需将Blob从源容器复制到另一个容器,一旦复制了Blob,您就可以简单地删除源容器。如果您只想重命名blob容器中的blob子集,这显然不起作用。