如何从我的云控制台中删除 cloud-api 上传的图像?

问题描述

我是 Google Cloud API 的新手,并且在解决几个问题:

  1. 我已使用 https://zatackcoder.com/upload-file-to-google-cloud-storage-using-php/ 逐字记录的示例项目成功将图像上传到我的 Google Cloud“存储桶”。除了将我自己的凭据放入源代码之外,没有任何更改。成功后,Google 会返回以下对象详细信息:
kind    "storage#object"
id  "my_test_bucket/uploads/Europe-Map.png/5555226335851276"
selfLink    "https://www.googleapis.com/storage/v1/b/my_test_bucket/o/uploads%2FEurope-Map.png"
mediaLink   "https://www.googleapis.com/download/storage/v1/b/my_test_bucket/o/uploads%2FEurope-Map.png?generation=5555226335851276&alt=media"
name    "uploads/Europe-Map.png"
bucket  "my_test_bucket"
generation  "5555226335851276"
Metageneration  "1"
contentType "image/png"
storageClass    "STANDARD"
size    "782467"
md5Hash "TPmaAjp5ub1jxIQChhOAsQ=="
crc32c  "PFU5yw=="
etag    "CAyMp/aioe8CEAE="
retentionExpirationTime "2120-03-09T11:58:35.882Z"
timeCreated "2021-03-08T17:58:35.882Z"
updated "2021-03-08T17:58:35.882Z"
timeStorageClassUpdated "2021-03-08T17:58:35.882Z"

我可以从 Google Cloud 控制台看到新文件,但无法从控制台删除它。当我尝试时,我收到了非常有用的消息:“无法删除文件”。

我想这与 ACU 或其他安全性有关,但作为存储桶的所有者,从云控制台本身,我不应该总是能够删除任何和所有文件吗?

解决方法

我发现了问题 - 当我尝试以编程方式删除它时出现了一条错误消息:“对象 <...> 受存储桶的保留策略约束,并且无法删除、覆盖或存档直到”

所以我进入了我的谷歌云控制台上的存储桶定义并选择了“保留”选项卡,并能够将保留时间设置为 1 秒(它设置为 99 年,禁止对对象进行任何类型的编辑 99 年上传后!)