我正在通过Gitlab CI将一些文件部署到Google Cloud中的Bucket中。我用来删除对象的命令是gsutil -m rm gs://pr.homefront.com
该命令从bucket中删除所有内容,但我想将其更改为仍然删除除名为"的文件夹之外的所有内容;ibw";每次运行命令时都会在该bucket中。
您可以在文件夹中为对象添加临时保留,这可以防止对该对象的操作或删除
您可以通过以下gsutil命令应用hold:
gsutil -m retention temp set gs://bucketname/ibw/*******
*每个星号都是一个文件夹级别
可以在rm命令之前设置holds,在rm命令之后取消设置。在移除保留之前,不能修改或移除对象
更新:
可以将保留添加到空文件夹
- 我通过云控制台创建了一个空文件夹
- 我运行以下命令以避免删除空文件夹
#this block the empty folder, if this is an folder with files all files will be blocked
gsutil -m retention temp set gs://bucketname/ibw/*******
#this operation can't remove objects,and empty folders with holds
gsutil -m rm gs://bucketname
#remove the hold of the empty folder, if this is an folder with files all files will be released
gsutil -m retention temp release gs://bucketname/ibw/*******