返回介绍

1.19 误删数据恢复

发布于 2020-10-01 16:22:05 字数 4637 浏览 1083 评论 0 收藏 0

误删数据恢复

用户覆盖或删除非归档类型object时,FDS会先将其移动至trash以防误删除。

Trash中数据默认保存7天,用户可以自行通过TTL规则调整,但最多为30天,详见TTL功能。

只有bucket owner可以查询和恢复trash中的数据。

列出已删除object

Web控制台-trash管理里可以看到已删除的object。使用SDK时,listTrashObjects的操作与List Objects操作类似。

以java sdk为例,调用listTrashObjects()可以列出当前用户所创建的bucket下已被删除的所有object,且如果返回值的truncated为true,则需要调用listNextBatchOfObjects()来获得下一批已删除的object。部分情况下可能list出来的结果为空,但如果truncated标志为true,则表示仍有已删除的object需要list,大致流程如下:

String bucketName = "foo";
FDSObjectListing objectListing = client.listTrashObjects(bucketName + "/", "");

for (;;){
  // do something with objectListing

  if (!objectListing.truncated){
    break;
  } else {
    objectListing = client.listNextBatchOfObjects(objectListing);  
  }
}

在不指定prefix时,会将当前用户已删除的object全部列出来,不会根据bucket名进行区分。

恢复已删除的object

同样可以在Web控制台-trash管理里恢复已删除的object。使用SDK时,可以通过类似restoreObject()方法来恢复至原bucket。如果原bucket中存在同名object,则相当于执行了一次覆盖写操作。

其他事项

FDS不保证以下几种情况下被删除的object可以正确访问和恢复,如需恢复清联系FDS支持组

  1. 归档类型的object被删除后不可以恢复
  2. 如果bucket被删除,即使重新创建了同名bucket,也不可以访问和恢复该bucket下之前的数据
  3. 超过trash的最大保存版本数(默认为1)时,多余的版本不可以访问和恢复
  4. 如果设置了TTL规则,指定trash保存最长时间,即使后来撤销或修改了该规则,之前已存在的trash object仍然可能不被正确访问和恢复

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文