合规保留
更新时间:2026-09-22
概述
Bucket 合规保留是数据保护的一种方式,用于规避重要的数据存入 Bucket 后被意外删除的风险,适用于金融、保险、医疗、证券等行业。合规保留是一种基于时间的配置策略,用户开启 Bucket 合规保留后需要设定数据保留的时间期限。
注意事项
Bucket 合规保留支持的保留时间为 1 天- 70 年。合规保留一旦开启将无法关闭,也无法缩减保留时间,且 Bucket 中 Object 在保留期内无法删除,请您在开启前仔细确认。
保留期说明
合规保留期是从 Bucket 内每一个 Object 的上传时间进行计算,而不是从配置合规保留策略的时刻开始算。
设置合规保留
合规保留通过init_bucket_object_lock()方法完成设置,完成设置后,需要调用complete_bucket_object_lock()方法完成锁定后,策略才能生效。该策略会保留24小时,若24小时内仍未锁定,该策略将会过期,需要将策略删除后重新配置。
示例代码
Python
1from baidubce.auth.bce_credentials import BceCredentials
2from baidubce.bce_client_configuration import BceClientConfiguration
3from baidubce.services.bos.bos_client import BosClient
4
5access_key_id = 'your-access-key-id'
6secret_access_key = 'your-secret-access-key'
7endpoint = 'bj.bcebos.com'
8bucket_name = 'your-bucket-name'
9
10config = BceClientConfiguration(
11 credentials=BceCredentials(access_key_id, secret_access_key),
12 endpoint=endpoint
13)
14bos_client = BosClient(config)
15
16# 初始化合规保留配置,保留时间为30天
17bos_client.init_bucket_object_lock(bucket_name=bucket_name, retention_days = 30)
18
19# 锁定合规保留配置。 注意:锁定后无法关闭!!!
20bos_client.complete_bucket_object_lock(bucket_name=bucket_name)
查看合规保留
示例代码
Python
1from baidubce.auth.bce_credentials import BceCredentials
2from baidubce.bce_client_configuration import BceClientConfiguration
3from baidubce.services.bos.bos_client import BosClient
4
5access_key_id = 'your-access-key-id'
6secret_access_key = 'your-secret-access-key'
7endpoint = 'bj.bcebos.com'
8bucket_name = 'your-bucket-name'
9
10config = BceClientConfiguration(
11 credentials=BceCredentials(access_key_id, secret_access_key),
12 endpoint=endpoint
13)
14bos_client = BosClient(config)
15
16# 查看合规保留配置
17response = bos_client.get_bucket_object_lock(bucket_name=bucket_name)
18
19print("合规保留状态: ", response.lock_status)
20print("合规保留创建时间戳: ", response.create_date)
21print("合规保留过期时间戳: ", response.expiration_date)
22print("合规保留时间: ", response.retent_days)
延长合规保留周期
示例代码
Python
1from baidubce.auth.bce_credentials import BceCredentials
2from baidubce.bce_client_configuration import BceClientConfiguration
3from baidubce.services.bos.bos_client import BosClient
4
5access_key_id = 'your-access-key-id'
6secret_access_key = 'your-secret-access-key'
7endpoint = 'bj.bcebos.com'
8bucket_name = 'your-bucket-name'
9
10config = BceClientConfiguration(
11 credentials=BceCredentials(access_key_id, secret_access_key),
12 endpoint=endpoint
13)
14bos_client = BosClient(config)
15
16# 延长合规保留配置,新的保护周期为34天,不可缩短保护周期
17bos_client.extend_bucket_object_lock(bucket_name=bucket_name, extend_retent_days = 34)
删除合规保留周期
当合规保留策略处于IN_PROGRESS和EXPIRED状态时,您可以通过该接口进行删除合规保留策略,若合规保留策略处于LOCKED锁定状态时,您将不能进行删除操作,除非删除该Bucket。
示例代码
Python
1from baidubce.auth.bce_credentials import BceCredentials
2from baidubce.bce_client_configuration import BceClientConfiguration
3from baidubce.services.bos.bos_client import BosClient
4
5access_key_id = 'your-access-key-id'
6secret_access_key = 'your-secret-access-key'
7endpoint = 'bj.bcebos.com'
8bucket_name = 'your-bucket-name'
9
10config = BceClientConfiguration(
11 credentials=BceCredentials(access_key_id, secret_access_key),
12 endpoint=endpoint
13)
14bos_client = BosClient(config)
15
16# 删除合规保留配置
17bos_client.delete_bucket_object_lock(bucket_name=bucket_name)
评价此篇文章
