取回归档存储类型文件
更新时间:2026-09-23
用户上传归档存储(ARCHIVE)类型的文件后,文件处于冰冻状态,无法直接下载。如需下载,必须先取回(Restore)归档文件。取回操作要求请求者对该归档文件有读权限,且文件处于冰冻状态。
运行以下示例前,请先参考初始化完成 BOS Client 初始化,并将示例中的 bucket_name、object_key 替换为实际值。
取回归档文件
Python
1# 使用默认参数取回(解冻后持续 7 天,标准取回)
2bos_client.restore_object(bucket_name, object_key)
3
4# 指定持续时间与取回优先级
5bos_client.restore_object(bucket_name, object_key, days=2, tier="Expedited")
参数说明
| 参数 | 类型 | 说明 | 必填 |
|---|---|---|---|
days |
int | 解冻状态的持续时间,单位为天,取值须大于 0 且不超过 30。不指定时默认为 7 天。 | 否 |
tier |
str | 取回优先级,取值为 Standard(标准取回,2~5 小时)、Expedited(加急取回,30 分钟内)、LowCost(延缓取回,12 小时内)。不指定时默认为 Standard。 |
否 |
注意:
tier只能取Standard、Expedited、LowCost三者之一,否则 SDK 会抛出ValueError。
判断归档文件是否已取回
对于归档存储对象,正在取回或已取回时,get_object_meta_data 返回的元信息中会包含 bce_restore:正在取回时取值为 ongoing-request="true";已取回时取值形如 ongoing-request="false", expiry-date="Wed, 07 Nov 2019 00:00:00 GMT",其中 expiry-date(格林尼治时间)表示取回内容的失效时间。
Python
1response = bos_client.get_object_meta_data(bucket_name, object_key)
2if response.metadata.bce_restore is not None:
3 if response.metadata.bce_restore.find("expiry-date") >= 0:
4 print("archive object is restored.")
5 else:
6 print("archive object is restoring.")
7else:
8 print("archive object is freezed.")
方法说明
| 方法 | 返回值 | 说明 |
|---|---|---|
bos_client.restore_object(bucket_name, key, days=None, tier="Standard") |
BceResponse |
取回归档存储类型文件。 |
bos_client.get_object_meta_data(bucket_name, key) |
BceResponse |
获取元信息,用于判断取回状态。 |
评价此篇文章
