如何通过Shell脚本清空GS Bucket中文件内容(保留文件)
如何用gsutil清空Google Cloud Storage Bucket中文件内容并保留文件
Google Cloud Storage(GCS)属于对象存储系统,对象一旦创建就无法直接修改内容,只能通过覆盖原对象的方式实现“清空内容保留文件路径”的效果,你之前用cp /dev/null报错就是因为对象存储的这个特性。
下面提供两种可行的方法:
方法一:通过本地空文件覆盖
- 先在本地创建一个空文件:
touch empty_temp_file - 用gsutil将这个空文件上传覆盖目标文件:
gsutil cp empty_temp_file gs://你的存储桶名称/目标文件路径 - (可选)删除本地临时空文件:
rm empty_temp_file
方法二:直接通过管道上传空内容(无需本地文件)
用echo输出空内容,通过管道传递给gsutil cp,利用-表示从标准输入读取内容:
echo -n "" | gsutil cp - gs://你的存储桶名称/目标文件路径
这里echo -n ""确保输出完全为空(不带换行符),最终上传的就是0KB的空对象,原文件路径会被保留。
内容的提问来源于stack exchange,提问作者Deb
相关产品推荐
相关产品推荐

