版本控制
更新时间:2026-09-22
概述
版本控制功能为您提供 bucket 级别的数据保护能力。当您开启版本控制后,对文件的删除及覆盖操作将生成新的版本而不会对原有文件产生影响。当您需要恢复数据时,可将任意历史版本恢复到当前版本。
注意事项
- 当前仅支持广州和北京地域开启版本控制,北京地域需要申请功能白名单。
- 版本控制功能开启后只可切换至暂停状态,无法关闭。
- 当前未支持归档类型文件的版本控制,默认存储类型为归档类型的 bucket 不允许开启版本控制。bucket 开启版本控制后将无法上传或转换成归档类型的文件,删除操作也将直接删除归档类型文件的数据。
- append 类型的文件追加写时不会产生新的版本。
- 功能选项中如果没有历史版本的选项,默认仅对最新版本进行操作。
- 产品功能说明详见 版本控制概述。
代码示例
开启/关闭版本控制
Python
1from baidubce.auth.bce_credentials import BceCredentials
2from baidubce.bce_client_configuration import BceClientConfiguration
3from baidubce.services.bos import common
4from baidubce.services.bos.bos_client import BosClient
5
6access_key_id = 'your-access-key-id'
7secret_access_key = 'your-secret-access-key'
8endpoint = 'gz.bcebos.com'
9bucket_name = b'test-bucket'
10
11config = BceClientConfiguration(
12 credentials=BceCredentials(access_key_id, secret_access_key),
13 endpoint=endpoint
14)
15bos_client = BosClient(config)
16
17# common.ENABLED:开启,common.SUSPENDED:暂停
18res = bos_client.put_bucket_versioning(bucket_name, common.ENABLED)
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
bucket_name |
bytes |
是 | Bucket 名称,示例值为 b'test-bucket'。 |
status |
str |
是 | 版本控制状态。common.ENABLED 表示开启版本控制,common.SUSPENDED 表示暂停版本控制。 |
返回值说明如下:
| 返回值 | 说明 |
|---|---|
res |
SDK 返回的响应对象。调用成功表示版本控制状态设置成功。 |
查看版本控制
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 = 'gz.bcebos.com'
8bucket_name = b'test-bucket'
9
10config = BceClientConfiguration(
11 credentials=BceCredentials(access_key_id, secret_access_key),
12 endpoint=endpoint
13)
14bos_client = BosClient(config)
15
16res = bos_client.get_bucket_versioning(bucket_name)
17print("get bucket versioning status is %s" % res.status)
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
bucket_name |
bytes |
是 | Bucket 名称,示例值为 b'test-bucket'。 |
返回值说明如下:
| 返回值 | 说明 |
|---|---|
res.status |
Bucket 的版本控制状态,例如 enabled 或 suspended。 |
评价此篇文章
