Google cloud platform 谷歌云对象删除后仍然存在
我正在使用Chrome(vs Cloud SDK/命令行)反复替换bucket中的文件。拖放文件以覆盖现有文件,和/或先删除文件并将其放回(已更改) 在某一点上,文件停止更新并保持持久状态,即使我真的将其父文件夹rm-rGoogle cloud platform 谷歌云对象删除后仍然存在,google-cloud-platform,google-cloud-storage,Google Cloud Platform,Google Cloud Storage,我正在使用Chrome(vs Cloud SDK/命令行)反复替换bucket中的文件。拖放文件以覆盖现有文件,和/或先删除文件并将其放回(已更改) 在某一点上,文件停止更新并保持持久状态,即使我真的将其父文件夹rm-r i、 例如,我可以拥有/bucket/css/file.css和rm-r/bucket/css,该文件仍将向公众开放。我使用gsutil删除了它,它成功了。。。暂时似乎有40个缓存版本的文件具有哈希标记ID 在某个时刻,它会停止更新/删除文件:( gsutil rm-r gs:
i、 例如,我可以拥有
/bucket/css/file.css
和rm-r/bucket/css
,该文件仍将向公众开放。我使用gsutil删除了它,它成功了。。。暂时似乎有40个缓存版本的文件具有哈希标记ID
在某个时刻,它会停止更新/删除文件:(
gsutil rm-r gs://bucket/path/to/folder/
从您的第二个答案来看,您的bucket似乎启用了“对象版本控制”选项
当为bucket启用时,云存储会在每次覆盖或删除对象的实时版本时创建对象的存档版本。
要验证bucket上是否启用了“对象版本控制”,可以使用以下命令:
gsutil版本控制get gs://[BUCKET\u NAME]
如果启用了对象版本控制,则响应如下所示:
gs://[BUCKET\u NAME]:已启用
但是,根据,如果继续在启用版本控制的存储桶中上载到同一对象,则将创建的对象的旧版本数没有限制
话虽如此,我试图在我自己的桶中重现你的案例。我遵循的步骤是:
1.为我的bucket启用对象版本控制
2.使用GCP控制台在bucket中上传一个名为“example.png”的文件
3.拖放另一个同名文件(“example.png”),但内容不同
4.选中“替换现有对象”选项
5.检查文件是否已更新。它已更新
6.通过一个接一个地上载不同的文件,每次都覆盖上一个文件,重复该过程50次(因为您说过您有40个文件的存档版本)。每次我上载不同的内容文件,都会创建该文件的新存档版本。每次文件都会相应地更新,没有任何问题
请回顾我遵循的步骤,并让我知道你方是否有任何其他行动
由于您可以通过gsutil命令删除文件,因此删除操作正常,并且您拥有所需的所有权限。您是否能够清理web浏览器的cookies,然后再次尝试删除它?您还可以尝试使用“匿名”窗口模式检查其工作是否正常
此外,如果对象版本控制处于启用状态,则可以再次尝试删除该对象。请注意,该操作无法撤消,一旦删除该对象,它将被完全删除
此外,与对象版本控制一起建议的一个良好实践是为bucket创建一个对象生命周期规则,该规则将删除已存储超过特定时间的所有对象。您可以将此作为删除对象的实时或存档版本的一种解决方法(如果实际启用了对象版本控制),并且要完成它,您可以遵循以下步骤
通常,您可以查看删除数据的最佳做法
请注意,根据您的要求,单个特定对象每秒最多只能更新或覆盖一次。有关更多信息,请查看。非常感谢您的回答!我们公司的devops中的一些人在my bucket上创建了一个策略以禁用对象版本控制。