如何为Azure blob文件名批量添加前缀?
我要求一种有效的方法,可以在Azure存储上为~10M小型blob文件管理此操作。我的偏好是通过Python(如果可能的话)来做。
如果目前无法使用API,我可以采用哪些替代方案?
我需要使用azcopy
从我的Azure存储中下载一系列blob文件(它给我的唯一差异化过滤器是基于前缀的过滤)。我需要一种解决方法来处理数百万个小型文件对象。我还打开基于文件名批量删除blob文件(并留下我需要的文件),如果推进的话。
答案 0 :(得分:2)
如何批量添加Azure blob文件名的前缀?
添加前缀本质上是重命名存储API当前不支持的blob。此外,每个blob操作都是原子的,因为它可以在单个blob上工作。
要重命名blob,您需要执行2项操作 - Copy
和Delete
。你要做的是先将blob复制到另一个blob。这个新blob的名称将是您要提供的名称,即前缀+原始blob名称。由于您在同一个blob容器中复制blob,因此它将是即时的。复制blob后,您将删除原始blob。
修改:批量删除
关于批量删除的评论,遗憾的是没有API可以这样做。您需要单独删除每个blob。如果要重命名容器中的所有blob,则可以加快此操作。在这种情况下,您只需将Blob从源容器复制到另一个容器,一旦复制了Blob,您就可以简单地删除源容器。如果您只想重命名blob容器中的blob子集,这显然不起作用。