Esempio n. 1
0
        public static void testLifeCycleConfig()
        {
            LifecycleConfiguration lifeCycleConfig = new LifecycleConfiguration();

            lifeCycleConfig.rules = new System.Collections.Generic.List <LifecycleConfiguration.Rule>();
            for (int i = 0; i < 3; i++)
            {
                LifecycleConfiguration.Rule rule = new LifecycleConfiguration.Rule();
                rule.id            = String.Format("the {0}th", i + 1);
                rule.filter        = new LifecycleConfiguration.Filter();
                rule.filter.prefix = "filter prefix";
                rule.status        = "Enabled";
                rule.abortIncompleteMultiUpload = new LifecycleConfiguration.AbortIncompleteMultiUpload();
                rule.abortIncompleteMultiUpload.daysAfterInitiation = 2;
                rule.expiration                  = new LifecycleConfiguration.Expiration();
                rule.expiration.date             = DateTime.Now.ToString();
                rule.expiration.days             = 2;
                rule.transition                  = new LifecycleConfiguration.Transition();
                rule.transition.date             = DateTime.Now.ToString();
                rule.transition.days             = 2;
                rule.noncurrentVersionExpiration = new LifecycleConfiguration.NoncurrentVersionExpiration();
                rule.noncurrentVersionExpiration.noncurrentDays = 2;
                rule.noncurrentVersionTransition = new LifecycleConfiguration.NoncurrentVersionTransition();
                rule.noncurrentVersionTransition.noncurrentDays = 2;
                rule.noncurrentVersionTransition.storageClass   = EnumUtils.GetValue(CosStorageClass.STANDARD);
                lifeCycleConfig.rules.Add(rule);
            }
            Console.WriteLine(lifeCycleConfig.GetInfo());
        }
Esempio n. 2
0
 /// <summary>
 /// 设置生命周期规则
 /// <see href="Model.Tag.LifecycleConfiguration.Rule"/>
 /// </summary>
 /// <param name="rule"></param>
 public void SetRule(LifecycleConfiguration.Rule rule)
 {
     if (rule != null)
     {
         lifecycleConfiguration.rules.Add(rule);
     }
 }
Esempio n. 3
0
        public void putBucketLifecycle()
        {
            //.cssg-snippet-body-start:[put-bucket-lifecycle]
            CosXmlConfig config = new CosXmlConfig.Builder()
                                  .SetConnectionTimeoutMs(60000) //设置连接超时时间,单位毫秒,默认45000ms
                                  .SetReadWriteTimeoutMs(40000)  //设置读写超时时间,单位毫秒,默认45000ms
                                  .IsHttps(true)                 //设置默认 HTTPS 请求
                                  .SetAppid("1253653367")        //设置腾讯云账户的账户标识 APPID
                                  .SetRegion("ap-guangzhou")     //设置一个默认的存储桶地域
                                  .Build();

            string secretId       = Environment.GetEnvironmentVariable("COS_KEY");    //云 API 密钥 SecretId
            string secretKey      = Environment.GetEnvironmentVariable("COS_SECRET"); //云 API 密钥 SecretKey
            long   durationSecond = 600;                                              //每次请求签名有效时长,单位为秒
            QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId,
                                                                                                    secretKey, durationSecond);

            CosXml cosXml = new CosXmlServer(config, qCloudCredentialProvider);

            try
            {
                string bucket = "bucket-cssg-test-dotnet-1253653367"; //格式:BucketName-APPID
                PutBucketLifecycleRequest request = new PutBucketLifecycleRequest(bucket);
                //设置签名有效时长
                request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);
                //设置 lifecycle
                LifecycleConfiguration.Rule rule = new LifecycleConfiguration.Rule();
                rule.id     = "lfiecycleConfigureId";
                rule.status = "Enabled"; //Enabled,Disabled

                rule.filter        = new COSXML.Model.Tag.LifecycleConfiguration.Filter();
                rule.filter.prefix = "2/";

                //指定分片过期删除操作
                rule.abortIncompleteMultiUpload = new LifecycleConfiguration.AbortIncompleteMultiUpload();
                rule.abortIncompleteMultiUpload.daysAfterInitiation = 2;

                request.SetRule(rule);

                //执行请求
                PutBucketLifecycleResult result = cosXml.PutBucketLifecycle(request);
                //请求成功
                Console.WriteLine(result.GetResultInfo());
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                //请求失败
                Console.WriteLine("CosClientException: " + clientEx);
                Assert.Null(clientEx);
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                //请求失败
                Console.WriteLine("CosServerException: " + serverEx.GetInfo());
                Assert.Null(serverEx);
            }
            //.cssg-snippet-body-end
        }
        /// 设置存储桶生命周期
        public void PutBucketLifecycle()
        {
            //.cssg-snippet-body-start:[put-bucket-lifecycle]
            try
            {
                string bucket = "examplebucket-1250000000"; //格式:BucketName-APPID
                PutBucketLifecycleRequest request = new PutBucketLifecycleRequest(bucket);
                //设置 lifecycle
                LifecycleConfiguration.Rule rule = new LifecycleConfiguration.Rule();
                rule.id     = "lfiecycleConfigureId";
                rule.status = "Enabled"; //Enabled,Disabled

                rule.filter        = new COSXML.Model.Tag.LifecycleConfiguration.Filter();
                rule.filter.prefix = "2/";

                //指定分片过期删除操作
                rule.abortIncompleteMultiUpload = new LifecycleConfiguration.AbortIncompleteMultiUpload();
                rule.abortIncompleteMultiUpload.daysAfterInitiation = 2;

                request.SetRule(rule);

                //执行请求
                PutBucketLifecycleResult result = cosXml.PutBucketLifecycle(request);
                //请求成功
                Console.WriteLine(result.GetResultInfo());
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                //请求失败
                Console.WriteLine("CosClientException: " + clientEx);
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                //请求失败
                Console.WriteLine("CosServerException: " + serverEx.GetInfo());
            }

            //.cssg-snippet-body-end
        }