归档类型(Archive)的文件需要解冻(Restore)之后才能读取。本文介绍如何解冻归档文件。
归档类型的Object在执行解冻前后的状态变换过程如下:
- 归档类型的Object初始时处于冷冻状态。
- 提交一次解冻请求后,Object处于解冻中的状态,完成解冻任务通常需要1分钟。
- 服务端完成解冻任务后,Object进入解冻状态,此时您可以读取Object。解冻状态默认持续24小时,24小时内再次调用RestoreObject接口则解冻状态会自动延长24小时。对于同份归档文件,一次解冻流程内可有效调用7次RestoreObject接口达到最长7天的解冻持续时间。
- 解冻状态结束后,Object再次返回到冷冻状态。
以下代码用于解冻归档文件:
//解冻归档文件。
RestoreObjectRequest restore = new RestoreObjectRequest();
restore.setBucketName("yourBucketName");
restore.setObjectKey("yourObjectName");
OSSAsyncTask task = oss.asyncRestoreObject(restore, new OSSCompletedCallback<RestoreObjectRequest,
RestoreObjectResult>() {
@Override
public void onSuccess(RestoreObjectRequest request, RestoreObjectResult result) {
OSSLog.logInfo("code::"+result.getStatusCode());
}
@Override
public void onFailure(RestoreObjectRequest request, ClientException clientException,
ServiceException serviceException) {
OSSLog.logError("error: "+serviceException.getRawMessage());
}
});
task.waitUntilFinished();
归档存储类型的详细说明请参见存储类型介绍。归档类型涉及的各参数详细说明请参见API文档RestoreObject。