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

问题描述

阿里云对象存储OSSBucket配置了生命周期规则,规则中指定标准或者低频访问类型的文件在指定天数后转为归档存储类型。部分归档存储类型的文件在完成解冻后访问仍失败,并提示以下错误:

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

问题原因

归档存储类型的文件解冻后,解冻状态默认持续1天,您可以通过ossutil工具或SDK将解冻时间延长,最长不超过7天。解冻时间结束后,文件将重新进入冷冻状态,导致无法访问,从而触发上述错误。

解决方案

请根据您的使用需求,选择对应的处理方式:

临时访问归档存储类型文件

如果仅需临时读取文件,可按以下步骤操作:

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

    说明

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

  2. 确认解冻完成后,在解冻状态持续时间内再次访问。具体操作,请参见如何查看OSS文件解冻是否完成?

频繁访问归档存储类型文件

若未来还将频繁访问该文件,建议将其转为标准存储,避免反复解冻:

  1. 解冻文件并确认可访问。

  2. 在解冻状态持续时间内,将文件存储类型修改为标准存储类型。具体操作,请参见存储类型转换

    说明

    为避免转换为标准存储类型的文件再次被生命周期规则转换为归档存储类型,建议您新建一个标准存储类型的Bucket,并将转换后的标准存储类型文件迁移至该Bucket中。