版本控制

最后更新时间:2020-03-25 14:29:20

    简介

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

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

    设置版本控制

    功能说明

    设置指定存储桶的版本控制功能。

    方法原型

    PutBucketVersioningResult PutBucketVersioning(PutBucketVersioningRequest request);
    void PutBucketVersioning(PutBucketVersioningRequest request, COSXML.Callback.OnSuccessCallback<CosResult> successCallback, COSXML.Callback.OnFailedCallback failCallback);

    请求示例

    CosXmlConfig config = new CosXmlConfig.Builder()
      .SetConnectionTimeoutMs(60000)  //设置连接超时时间,单位毫秒,默认45000ms
      .SetReadWriteTimeoutMs(40000)  //设置读写超时时间,单位毫秒,默认45000ms
      .IsHttps(true)  //设置默认 HTTPS 请求
      .SetAppid("1250000000") //设置腾讯云账户的账户标识 APPID
      .SetRegion("COS_REGION") //设置一个默认的存储桶地域
      .Build();
    
    string secretId = "COS_SECRETID";   //云 API 密钥 SecretId
    string secretKey = "COS_SECRETKEY"; //云 API 密钥 SecretKey
    long durationSecond = 600;          //每次请求签名有效时长,单位为秒
    QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId, 
      secretKey, durationSecond);
    
    CosXml cosXml = new CosXmlServer(config, qCloudCredentialProvider);
    
    string bucket = "examplebucket-1250000000"; //格式:BucketName-APPID
    PutBucketVersioningRequest request = new PutBucketVersioningRequest(bucket);
    //设置签名有效时长
    request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);
    request.IsEnableVersionConfig(true); //true: 开启版本控制; false:暂停版本控制
    
    // 使用同步方法
    try
    {
      PutBucketVersioningResult result = cosXml.PutBucketVersioning(request);
      Console.WriteLine(result.GetResultInfo());
    }
    catch (COSXML.CosException.CosClientException clientEx)
    {
      Console.WriteLine("CosClientException: " + clientEx);
    }
    catch (COSXML.CosException.CosServerException serverEx)
    {
      Console.WriteLine("CosServerException: " + serverEx.GetInfo());
    }

    参数说明

    参数名称 描述 类型
    bucket 开启或暂停版本控制的存储桶,格式:BucketName-APPID,详情请参见 命名规范 string
    isEnable 是否开启版本控制:
  • true:开启
  • false:暂停
  • bool
    signStartTimeSecond 签名有效期起始时间(Unix 时间戳),例如1557902800 long
    durationSecond 签名有效期时长(单位为秒),例如签名有效时期为1分钟:60 long
    headerKeys 签名的请求头 List<string>
    queryParameterKeys 签名的请求参数 List<string>

    返回结果说明

    通过 PutBucketVersioningResult 返回请求结果。

    成员变量 类型 描述
    httpCode int HTTP Code, [200,300)之间表示操作成功,否则表示操作失败

    操作失败时,系统将抛出 CosClientExceptionCosServerException 异常。

    查询版本控制

    功能说明

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

    方法原型

    GetBucketVersioningResult GetBucketVersioning(GetBucketVersioningRequest request);
    void GetBucketVersioning(GetBucketVersioningRequest request, COSXML.Callback.OnSuccessCallback<CosResult> successCallback, COSXML.Callback.OnFailedCallback failCallback);

    请求示例

    CosXmlConfig config = new CosXmlConfig.Builder()
      .SetConnectionTimeoutMs(60000)  //设置连接超时时间,单位毫秒,默认45000ms
      .SetReadWriteTimeoutMs(40000)  //设置读写超时时间,单位毫秒,默认45000ms
      .IsHttps(true)  //设置默认 HTTPS 请求
      .SetAppid("1250000000") //设置腾讯云账户的账户标识 APPID
      .SetRegion("COS_REGION") //设置一个默认的存储桶地域
      .Build();
    
    string secretId = "COS_SECRETID";   //云 API 密钥 SecretId
    string secretKey = "COS_SECRETKEY"; //云 API 密钥 SecretKey
    long durationSecond = 600;          //每次请求签名有效时长,单位为秒
    QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId, 
      secretKey, durationSecond);
    
    CosXml cosXml = new CosXmlServer(config, qCloudCredentialProvider);
    
    string bucket = "examplebucket-1250000000"; //格式:BucketName-APPID
    GetBucketVersioningRequest request = new GetBucketVersioningRequest(bucket);
    
    // 使用同步方法
    try
    {
      GetBucketVersioningResult result = cosXml.GetBucketVersioning(request);
      // 存储桶的生命周期配置
      VersioningConfiguration conf =  result.versioningConfiguration;
    }
    catch (COSXML.CosException.CosClientException clientEx)
    {
      Console.WriteLine("CosClientException: " + clientEx);
    }
    catch (COSXML.CosException.CosServerException serverEx)
    {
      Console.WriteLine("CosServerException: " + serverEx.GetInfo());
    }

    参数说明

    参数名称 描述 类型
    bucket 查询版本控制的存储桶,格式:BucketName-APPID,详情请参见 命名规范 string
    signStartTimeSecond 签名有效期起始时间(Unix 时间戳),例如1557902800 long
    durationSecond 签名有效期时长(单位为秒),例如签名有效时期为1分钟:60 long
    headerKeys 签名的请求头 List<string>
    queryParameterKeys 签名的请求参数 List<string>

    返回结果说明

    通过 GetBucketVersioningResult 返回请求结果。

    成员变量 类型 描述
    httpCode int HTTP Code, [200,300)之间表示操作成功,否则表示操作失败
    versioningConfiguration VersioningConfiguration 版本控制配置信息

    操作失败时,系统将抛出 CosClientExceptionCosServerException 异常。

    Was this page helpful?

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

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