问题描述
我在GCP上有一个存储桶,在此存储桶的顶层,我有一堆文件夹。
但是,我已经用gcsfuse
安装了存储桶,并尝试了传统的Linux mv
命令。显然,这是不允许的。
同样,我也尝试过gsutil -m mv gs://mybucket/* gs://mybucket/new_folder/
并收到命令错误,指出此操作不允许使用通配符。
将大量文件移到新目录的最佳选择是什么?
解决方法
根据@JohnHanley提供的评论,将此作为社区Wiki答案发布。
有关云存储的一些概念。
- 对象是不可变的,这意味着您不能重命名。您必须复制对象并删除原始对象以模拟更改名称。
- 目录/文件夹不存在。命名空间是平面的,所有对象都在根目录中。文件夹的外观只是对象名称的一部分。
- Cloud Storage支持内部对象复制。注意不要使用先下载对象然后上传的功能。
考虑到此信息,您将需要使用工具,例如gsutil
,以便可以根据需要开始重命名和移动文件。