腾讯云对象存储设置文件回收站方法

当开发者在腾讯云对象存储进行数据存储和管理时,基于更高的数据可靠性要求,通常希望如下场景有更好的解决方案:

  • 当使用数据时产生误删情况,希望有途径将数据找回;
  • 当一个Bucket通过ACL授权给多个用户,并给予他们Write权限时,希望能够避免这些用户对Bucket中的数据进行恶意删除操作

腾讯云对象存储设置文件回收站方法

基于上述场景为了提升腾讯云对象存储的数据可靠性,腾讯云对象存储提供了回收站功能,Bucket的Owner且对Bucket具备Full Control权限的用户可对Bucket进行回收站相关的配置。配置方法可根据开发习惯,使用API或控制台等多种方式:

  • 通过PuTrash接口开启回收站功能
  • 通过DeleteTrash接口关闭回收站功能
  • 通过GetTrash接口查看当前回收站状态
  • 通过控制台操作回收站
  1. 当Bucket开启回收站功能后,用户即可在该Bucket的回收站目录中查找到Bucket中被删除的数据。该回收站路径默认为Bucket/.trash/
  2. 如果您需要将回收站内的数据进行恢复,则直接rename该回收站内的文件,将其文件名中的.trash/路径去除即可
  3. 如果您需要将回收站内的数据进行彻底清除,则直接将.trash/路径下的某文件再次delete即可

同时,基于上述应用场景中的第二种情况,您也可以将回收站能力与Bucket ACL做一些组合,例如为某需要在BucketA中有Write权限的用户,配置如下ACL:

{ "id": "policy_3563bce24f2049629f4e0b6bf7a2775d", "version": "v1", "grantee": [ { "id": "b124deeaf6f641c9ac27700b41a350a8" } ], "accessControlList": [ { "service": "bce:bos", "region": "bj", "resource": [ "BucketA" ], "effect": "Allow", "permission": [ WRITE" ] }, { "service": "bce:bos", "region": "bj", "resource": [ "BucketA/.trash/" ], "effect": "Deny", "permission": [ "DeleteObject" ] } ]}

通过上述ACL,该用户可对Bucket进行写入和删除行为,但对于回收站内的数据无法进行二次彻底删除。

腾讯云对象存储设置文件回收站注意事项

  1. 当Bucket已开启回收站功能并设置回收站路径为.trash/,之后将Bucket内的文件A删除(原文件路径为Bucket/test/A),则该文件A的路径变为Bucke/.trash/test/A,之后您关闭该Bucket的回收站,则该文件A在Bucket中的保留路径仍为Bucket/.trash/test/A。因此,提醒您在关闭回收站功能后,同时按需将类似垃圾文件清除。
  2. 当Bucket已开启回收站功能并设置回收站路径为.trash/,删除后的文件将进入Bucket/.trash/目录下,之后您将回收站文件路径更改为.trashX/,路径变更前的回收站文件将保留在原位置,即Bucket/.trash/路径下,而之后被删除的文件,将进入Bucket/.trashX/路径下。因此,提醒您在变更回收站路径时,对回收站内原有文件按需进行搬迁。
  3. 删除归档类型文件时,归档类型的文件不会进入回收站,直接删除。

腾讯云对象存储设置文件回收站收费模式

  • 腾讯云对象存储回收站不另外收费,回收站内的文件还视为Bucket内数据的一部分,按照其存储类型收取容量费用。
  • 当回收站内的文件被彻底清除后,将不收取容量费用。

标签