You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python boto3恢复GLACIER存储的Amazon S3对象异常问题咨询

S3 Glacier恢复后存储类未变更说明

该现象属于Amazon S3的正常设计,并非存储类上报逻辑异常,相关规则如下:

  • 调用restore_object接口执行的是临时恢复操作,仅会生成一份可直接访问的对象临时副本,不会修改对象的原始存储类,因此对象的storage_class属性会始终显示为GLACIER。
  • 临时副本的保留时长由恢复请求中的Days参数指定,你设置的保留时长为1天,副本到期后会自动删除,对象将回归不可直接访问的归档状态。
  • 可通过restore字段的返回值判断恢复进度:
    • 返回ongoing-request="true":恢复任务仍在处理中
    • 返回ongoing-request="false"且附带expiry-date参数:恢复已完成,可正常下载对象,expiry-date为临时副本的过期时间

如果需要将对象永久从Glacier归档中取出、变更为其他存储类,可在恢复完成后调用copy_object接口覆盖原对象并指定目标存储类,示例代码如下:

import boto3

s3 = boto3.resource('s3', verify=False)
bucket_name = "my-source-bucket"
key = "glacier_file2.txt"

s3.meta.client.copy_object(
    Bucket=bucket_name,
    Key=key,
    CopySource={'Bucket': bucket_name, 'Key': key},
    StorageClass='STANDARD' # 可替换为STANDARD_IA、INTELLIGENT_TIERING等需要的存储类
)

内容的提问来源于stack exchange,提问作者franchyze923

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 04:15:02