简介
本文档提供关于版本控制的 API 概览以及 SDK 示例代码。
API | 操作名 | 操作描述 |
---|---|---|
PUT Bucket versioning | 设置版本控制 | 设置存储桶的版本控制功能 |
GET Bucket versioning | 查询版本控制 | 查询存储桶的版本控制信息 |
SDK API 参考
SDK 所有接口的具体参数与方法说明,请参考 SDK API 参考。
设置版本控制
功能说明
设置指定存储桶的版本控制功能。开启版本控制功能后,只能暂停,不能关闭。
示例代码
// 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
String bucket = "examplebucket-1250000000";
PutBucketVersioningRequest putBucketVersioningRequest =
new PutBucketVersioningRequest(bucket);
//true:开启版本控制; false:暂停版本控制
putBucketVersioningRequest.setEnableVersion(true);
cosXmlService.putBucketVersionAsync(putBucketVersioningRequest,
new CosXmlResultListener() {
@Override
public void onSuccess(CosXmlRequest request, CosXmlResult result) {
PutBucketVersioningResult putBucketVersioningResult =
(PutBucketVersioningResult) 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();
}
}
});
说明:更多完整示例,请前往 GitHub 查看。
查询版本控制
功能说明
查询指定存储桶的版本控制信息。
- 获取存储桶版本控制的状态,需要有该存储桶的读权限。
- 有三种版本控制状态:未启用版本控制、启用版本控制和暂停版本控制。
示例代码
// 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
String bucket = "examplebucket-1250000000";
GetBucketVersioningRequest getBucketVersioningRequest =
new GetBucketVersioningRequest(bucket);
cosXmlService.getBucketVersioningAsync(getBucketVersioningRequest,
new CosXmlResultListener() {
@Override
public void onSuccess(CosXmlRequest request, CosXmlResult result) {
GetBucketVersioningResult getBucketVersioningResult =
(GetBucketVersioningResult) 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();
}
}
});
说明:更多完整示例,请前往 GitHub 查看。