如何配置Google Cloud Transfer Job避免生成同名子文件夹?
解决Google Cloud Storage传输作业路径冗余问题
方法1:修改TSV文件的路径格式
你当前TSV里的是完整域名开头的URL,传输工具默认会把域名解析成路径的一部分。直接把TSV里的URL去掉域名前缀,只保留相对路径就行:
- 原条目:
https://www.pretty-story.com/wp-includes/js/jquery/jquery.min.js - 修改后:
wp-includes/js/jquery/jquery.min.js
重新运行传输作业,文件就会直接放到桶根目录下的wp-includes路径里,不会多出来域名同名子文件夹。
方法2:给传输作业加路径重写规则
不想改TSV的话,编辑现有传输作业时配置路径重写:
- 打开Google Cloud控制台的Cloud Storage传输服务页面
- 找到目标作业点击编辑
- 在配置设置里找到「路径重写」选项
- 设置前缀替换:
- 要替换的前缀:
www.pretty-story.com/ - 替换为:(留空不填)
注意用正斜杠/作为路径分隔符,GCS不识别反斜杠\
- 要替换的前缀:
这样传输时会自动剥离URL里的域名前缀,直接写入桶根目录的对应结构。
方法3:用gsutil批量修正已传输的文件
如果已经传输完但路径错了,用gsutil命令批量移动文件:
# 先模拟测试,不会实际移动 gsutil -n mv gs://www.pretty-story.com/www.pretty-story.com/* gs://www.pretty-story.com/ # 确认没问题后执行实际移动 gsutil mv gs://www.pretty-story.com/www.pretty-story.com/* gs://www.pretty-story.com/
执行后,www.pretty-story.com子目录下的所有文件会被移到桶根目录,同时保留wp-includes等原有子结构。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

