OSS归档存储类型文件解冻后访问提示“The operation is not valid for the object's state”错误

问题描述

阿里云对象存储OSS的Bucket设置了生命周期,在将归档存储类型的文件解冻后,无法正常访问文件,提示以下错误:

StatusCode=403, ErrorCode=InvalidObjectState, ErrorMessage="The operation is not valid for the object's state"

问题原因

归档存储类型的文件解冻后,解冻状态默认持续1天,您可以通过ossutil工具或SDK延长解冻时间,最多延长7天,之后文件又回到冷冻状态。

解决方案

请查看文件是否为解冻状态,如果文件未解冻,您需要执行以下操作,将归档存储和冷归档存储类型的文件解冻后,修改为标准存储类型。

  1. 解冻归档存储类型文件。 具体操作,请参见解冻文件

    说明

    文件解冻会产生数据取回费用。更多信息,请参见请求费用

  2. 查看文件解冻是否完成。 具体操作,请参见如何查看OSS文件解冻是否完成?

  3. 解冻完成后,请将文件存储类型修改为标准存储类型。具体操作,请参见存储类型转换

    为避免转换为标准存储类型的文件再次被自动转换为归档存储类型,建议您重新创建标准存储类型的Bucket,然后将转换后的标准存储类型文件迁移到新建的标准存储类型的Bucket中。

    说明

    Bucket创建后无法修改文件存储类型。