合规保留
更新时间:2026-09-23
概述
Bucket 合规保留是数据保护的一种方式,用于规避重要的数据存入 Bucket 后被意外删除的风险,适用于金融、保险、医疗、证券等行业。合规保留是一种基于时间的配置策略,用户开启 Bucket 合规保留后需要设定数据保留的时间期限。
注意事项
- Bucket 合规保留支持的保留时间为 1 天 - 70 年(对应
retention_days取值范围为 1 - 25550 天)。 - 合规保留一旦锁定将无法关闭,也无法缩减保留时间,且 Bucket 中 Object 在保留期内无法删除,请您在开启前仔细确认。
保留期说明
合规保留期是从 Bucket 内每一个 Object 的上传时间进行计算,而不是从配置合规保留策略的时刻开始算。
运行以下示例前,请先参考初始化完成 BOS Client 初始化,并将示例中的 bucket_name 等占位符替换为实际值。
设置合规保留
合规保留通过 init_bucket_object_lock() 方法完成设置。完成设置后,需要调用 complete_bucket_object_lock() 方法完成锁定,策略才能生效。该策略会保留 24 小时,若 24 小时内仍未锁定,该策略将会过期,需要将策略删除后重新配置。
Python
1bucket_name = "example-bucket-name"
2
3# 初始化合规保留配置,保留时间为 30 天
4bos_client.init_bucket_object_lock(bucket_name=bucket_name, retention_days=30)
5
6# 锁定合规保留配置。注意:锁定后无法关闭!
7bos_client.complete_bucket_object_lock(bucket_name=bucket_name)
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
bucket_name |
str |
是 | Bucket 名称。 |
retention_days |
int |
是 | 数据保留天数,取值范围为 1 - 25550(即 1 天 - 70 年)。 |
注意:
complete_bucket_object_lock()用于锁定合规保留策略。策略在init_bucket_object_lock()后 24 小时内未锁定将自动过期,需删除后重新配置。锁定后处于LOCKED状态,无法关闭或缩短。
查看合规保留
Python
1bucket_name = "example-bucket-name"
2
3# 查看合规保留配置
4response = bos_client.get_bucket_object_lock(bucket_name=bucket_name)
5
6print("合规保留状态:", response.lock_status)
7print("合规保留创建时间戳:", response.create_date)
8print("合规保留过期时间戳:", response.expiration_date)
9print("合规保留时间:", response.retention_days)
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
bucket_name |
str |
是 | Bucket 名称。 |
返回值说明如下:
| 返回值 | 说明 |
|---|---|
response.lock_status |
合规保留状态,取值为 UNLOCK、IN_PROGRESS、EXPIRED、LOCKED 之一。 |
response.create_date |
合规保留创建时间戳。 |
response.expiration_date |
合规保留过期时间戳。处于 LOCKED 状态时该值为 0。 |
response.retention_days |
数据保留天数。 |
延长合规保留周期
Python
1bucket_name = "example-bucket-name"
2
3# 延长合规保留配置,新的保护周期为 34 天,不可缩短保护周期
4bos_client.extend_bucket_object_lock(bucket_name=bucket_name, extend_retent_days=34)
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
bucket_name |
str |
是 | Bucket 名称。 |
extend_retent_days |
int |
是 | 延长后的数据保留天数,取值范围为 1 - 25550,且不可小于当前保留天数。 |
删除合规保留周期
当合规保留策略处于 IN_PROGRESS 和 EXPIRED 状态时,您可以通过该接口删除合规保留策略;若合规保留策略处于 LOCKED 锁定状态,则不能进行删除操作,除非删除该 Bucket。
Python
1bucket_name = "example-bucket-name"
2
3# 删除合规保留配置
4bos_client.delete_bucket_object_lock(bucket_name=bucket_name)
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
bucket_name |
str |
是 | Bucket 名称。 |
评价此篇文章
