Beispiel #1
0
        public void testPutObjectUploadTrafficLimit()
        {
            try
            {
                long             now     = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeMilliseconds();
                PutObjectRequest request = new PutObjectRequest(bucket,
                                                                commonKey, smallFileSrcPath);

                request.LimitTraffic(8 * 1000 * 1024);
                //执行请求
                PutObjectResult result   = cosXml.PutObject(request);
                long            costTime = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeMilliseconds() - now;

                Console.WriteLine("costTime = " + costTime + "ms");
                Console.WriteLine(result.GetResultInfo());

                Assert.True(result.httpCode == 200);
                // Assert.True(costTime > 8000 && costTime < 14000);
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                Console.WriteLine("CosClientException: " + clientEx.Message);
                Assert.True(false);
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                Console.WriteLine("CosServerException: " + serverEx.GetInfo());
                Assert.True(false);
            }
        }
        /// 上传时对单链接限速
        public void UploadObjectTrafficLimit()
        {
            //.cssg-snippet-body-start:[upload-object-traffic-limit]
            TransferConfig transferConfig = new TransferConfig();

            // 初始化 TransferManager
            TransferManager transferManager = new TransferManager(cosXml, transferConfig);

            string bucket  = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID
            string cosPath = "dir/exampleObject";        // 对象键
            string srcPath = @"temp-source-file";        //本地文件绝对路径

            PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, cosPath, srcPath);

            putObjectRequest.LimitTraffic(8 * 1000 * 1000); // 限制为1MB/s

            COSXMLUploadTask uploadTask = new COSXMLUploadTask(putObjectRequest);

            uploadTask.SetSrcPath(srcPath);

            transferManager.Upload(uploadTask);
            //.cssg-snippet-body-end
        }