控制台指南

最佳实践

开发者指南

API 文档

SDK 文档

版本控制

最近更新时间:2021-11-12 17:33:57

简介

本文档提供关于版本控制的 API 概览以及 SDK 示例代码。

API 操作名 操作描述
PUT Bucket versioning 设置版本控制 设置存储桶的版本控制功能
GET Bucket versioning 查询版本控制 查询存储桶的版本控制信息

SDK API 参考

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

设置版本控制

功能说明

设置指定存储桶的版本控制功能。开启版本控制功能后,只能暂停,不能关闭。

示例代码

Objective-C

// 开启版本控制
QCloudPutBucketVersioningRequest* request = [[QCloudPutBucketVersioningRequest alloc] init];

// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
request.bucket =@"examplebucket-1250000000";

// 说明版本控制的具体信息
QCloudBucketVersioningConfiguration* versioningConfiguration =
    [[QCloudBucketVersioningConfiguration alloc] init];

request.configuration = versioningConfiguration;

// 说明版本是否开启,枚举值:QCloudCOSBucketVersioningStatusEnabled、
// QCloudCOSBucketVersioningStatusSuspended
versioningConfiguration.status = QCloudCOSBucketVersioningStatusEnabled;

[request setFinishBlock:^(id outputObject, NSError* error) {
    // outputObject 包含所有的响应 http 头部
    NSDictionary* info = (NSDictionary *) outputObject;
}];
[[QCloudCOSXMLService defaultCOSXML] PutBucketVersioning:request];

说明:

更多完整示例,请前往 GitHub 查看。

Swift

// 开启版本控制
let putBucketVersioning = QCloudPutBucketVersioningRequest.init();

// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
putBucketVersioning.bucket = "examplebucket-1250000000";

// 说明版本控制的具体信息
let config = QCloudBucketVersioningConfiguration.init();

// 说明版本是否开启,枚举值:Suspended、Enabled
config.status = .enabled;

putBucketVersioning.configuration = config;

putBucketVersioning.finishBlock = {(result,error) in
    if let result = result {
        // result 包含响应的 header 信息
    } else {
        print(error!);
    }
}
QCloudCOSXMLService.defaultCOSXML().putBucketVersioning(putBucketVersioning);

说明:

更多完整示例,请前往 GitHub 查看。

查询版本控制

功能说明

查询指定存储桶的版本控制信息。

  • 获取存储桶版本控制的状态,需要有该存储桶的读权限。
  • 有三种版本控制状态:未启用版本控制、启用版本控制和暂停版本控制。

示例代码

Objective-C

QCloudGetBucketVersioningRequest* request =
                            [[QCloudGetBucketVersioningRequest alloc] init];

// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
request.bucket = @"examplebucket-1250000000";

[request setFinishBlock:^(QCloudBucketVersioningConfiguration* result,
                          NSError* error) {
    // 获取多版本状态
    QCloudCOSBucketVersioningStatus * status = result.status;
}];

[[QCloudCOSXMLService defaultCOSXML] GetBucketVersioning:request];

说明:

更多完整示例,请前往 GitHub 查看。

Swift

let getBucketVersioning = QCloudGetBucketVersioningRequest.init();

// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
getBucketVersioning.bucket = "examplebucket-1250000000";

getBucketVersioning.setFinish { (config, error) in
    if let config = config {
        // 多版本状态
        let status = config.status
    } else {
        print(error!);
    }

}
QCloudCOSXMLService.defaultCOSXML().getBucketVersioning(getBucketVersioning);

说明:

更多完整示例,请前往 GitHub 查看。

目录