从Google云端存储桶删除N天后保留对象

问题描述 投票:0回答:1

我的目标是从Google云端存储桶中删除文件,这样我可以在指定的时间内恢复该文件,以防万一该文件被错误删除(例如,删除后保留文件5天) 。

我没有比实现更好的方法:

  1. 为显示给用户的文件创建normal存储桶
  2. 创建trash存储桶以使用生命周期规则永久删除未决的文件,该规则将在创建N天后删除对象
  3. 根据normal存储桶中的文件删除请求,首先将文件复制到trash存储桶,然后从normal存储桶中删除文件

这太复杂了吗?在GCP云存储中,是否有更“惯用”的方法来实现此工作流程?

google-cloud-storage
1个回答
0
投票

您可以将所有文件放在这样的存储桶中,假设有两件事:

  1. [您正在查询的用于构建UI的数据库中也引用了每个文件。
  2. 您可以编写后端代码来管理存储桶-人们不使用Cloud Storage SDK直接处理文件。

它使用Cloud Tasks计划删除:

  1. 用户要求删除文件。
  2. 文件在数据库中被标记为“已删除”,实际上并未从存储桶中删除。
  3. 使用Cloud Tasks安排从现在开始5天的实际删除。
  4. 按计划,任务触发一个函数,该函数将删除文件及其数据库记录。

您的用户界面必须查询数据库,以便区分已删除和已删除文件。

© www.soinside.com 2019 - 2024. All rights reserved.