归档、冷归档以及深度冷归档类型的文件需要解冻(Restore)之后才能读取。本文介绍如何解冻文件。
注意事项
使用本文示例前您需要先通过自定义域名、STS等方式新建OSSClient,具体请参见如何初始化Android端OSSClient实例。
示例代码
以下代码用于解冻examplebucket中的exampleobject.txt文件,该文件的存储类型可以是归档、冷归档或者深度冷归档类型。
说明
使用示例解冻文件成功会返回202,此时需要等待一定的时间才能完成解冻,具体解冻规则可参考RestoreObject。
// 解冻归档文件。
RestoreObjectRequest restore = new RestoreObjectRequest();
// 填写Bucket名称,例如examplebucket。
restore.setBucketName("examplebucket");
// 填写不包含Bucket名称在内的Object完整路径,例如exampleobject.txt。
restore.setObjectKey("exampleobject.txt");
OSSAsyncTask task = oss.asyncRestoreObject(restore, new OSSCompletedCallback<RestoreObjectRequest,
RestoreObjectResult>() {
@Override
public void onSuccess(RestoreObjectRequest request, RestoreObjectResult result) {
Log.i("info", "code::"+result.getStatusCode());
}
@Override
public void onFailure(RestoreObjectRequest request, ClientException clientException,
ServiceException serviceException) {
Log.e("errorMessage", "error: "+serviceException.getRawMessage());
}
});
task.waitUntilFinished();
相关文档
关于解冻归档类型Object的完整示例代码,请参见GitHub示例。
关于解冻归档类型Object的API接口说明,请参见RestoreObject。
关于初始化OSSClient,请参见如何初始化Android端OSSClient实例。