如何使用az storage blob copy批量复制Azure存储容器子目录?
解决Azure存储容器指定子目录批量复制的问题
你之前的错误在于误用了--source-container参数,这个参数仅接受容器名称,不能带路径或通配符。要实现指定子目录的批量复制,需要用--source-prefix参数来过滤Blob的前缀(模拟目录结构)。
正确命令示例
1. 复制容器内subdir1目录下的所有内容(含子目录)
az storage blob copy start-batch \ --source-account-name ${san} \ --source-account-key ${key} \ --source-container ${sc} \ --source-prefix "subdir1/" \ --account-name ${an} \ --account-key ${ak} \ --destination-container ${dc}
2. 复制容器内subdir1/subdir2目录下的所有内容
az storage blob copy start-batch \ --source-account-name ${san} \ --source-account-key ${key} \ --source-container ${sc} \ --source-prefix "subdir1/subdir2/" \ --account-name ${an} \ --account-key ${ak} \ --destination-container ${dc}
关键说明
--source-prefix的作用是匹配所有以指定字符串开头的Blob:Azure Blob存储是扁平结构,所谓的“目录”其实是通过Blob名称的前缀实现的,添加尾斜杠/可以精准匹配该“目录”下的所有Blob(包括子级)。- 不需要加通配符
*,--source-prefix本身就会自动匹配符合前缀规则的所有Blob。
内容的提问来源于stack exchange,提问作者Miss_Orchid
相关产品推荐
相关产品推荐

