恢复归档对象

最近更新时间:2024-08-14 17:37:42

我的收藏

简介

本文介绍对象存储 COS 通过 Android SDK 实现恢复归档对象的示例代码和描述。将归档类型的对象取回访问(POST Object restore)。

注意事项

若您想要对一个归档对象做恢复操作,需要具有该对象的回热权限:在您进行 授权策略 时,action 需要设置为cos:PostObjectRestore,更多授权请参见 支持CAM的业务接口

相关示例

功能名称
描述
示例代码
恢复归档对象
一个归档存储或深度归档存储类型的对象进行恢复(解冻)以便读取该对象内容。

前期准备

创建 CosXmlService

调用 COS 的接口之前,必须先创建一个 CosXmlService 的实例,详细代码可以参见 创建 CosXmlService

使用案例

// 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
String bucket = "examplebucket-1250000000";
String cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即对象键。
RestoreRequest restoreRequest = new RestoreRequest(bucket, cosPath);
restoreRequest.setExpireDays(5); // 保留5天
restoreRequest.setTier(RestoreConfigure.Tier.Standard); // 标准恢复模式

cosXmlService.restoreObjectAsync(restoreRequest, new CosXmlResultListener() {
@Override
public void onSuccess(CosXmlRequest request, CosXmlResult result) {
RestoreResult restoreResult = (RestoreResult) result;
}

// 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:
// clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?
@Override
public void onFail(CosXmlRequest cosXmlRequest,
@Nullable CosXmlClientException clientException,
@Nullable CosXmlServiceException serviceException) {
if (clientException != null) {
clientException.printStackTrace();
} else {
serviceException.printStackTrace();
}
}
});

SDK API 参考

SDK 所有接口的具体参数与方法说明,请参考 SDK API 参考

API 操作

恢复归档对象涉及的 API 接口说明,请参见 POST Object restore 文档。