版本控制

最后更新时间:2020-08-25 17:48:28

    简介

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

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

    SDK API 参考

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

    设置版本控制

    功能说明

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

    示例代码

    Objective-C

    // 开启版本控制
    QCloudPutBucketVersioningRequest* request = [[QCloudPutBucketVersioningRequest alloc] init];
    
    // 存储桶名称,格式为 BucketName-APPID
    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
    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
    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
    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 查看。

    Was this page helpful?

    本页内容是否解决了您的问题?

    • 完全没帮助
    • 文档较差
    • 文档一般
    • 文档不错
    • 文档很好
    反馈
    帮助