Beispiel #1
0
        public void Test()
        {
            var json = JsonConvert.SerializeObject(_cosOptions);

            try
            {
                cosXml = GetCosXml();
                string            bucket  = _cosOptions.Bucket;
                HeadBucketRequest request = new HeadBucketRequest(bucket);
                request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);
                HeadBucketResult result = cosXml.HeadBucket(request);

                Logging.Log.WriteInformationMessage(LOGTAG, "Test", "Request complete {0}: {1}, {2}", result.httpCode, json, result.GetResultInfo());
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                Logging.Log.WriteErrorMessage(LOGTAG, "Test", clientEx, "Request failed: {0}", json);
                throw;
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                Logging.Log.WriteErrorMessage(LOGTAG, "Test", serverEx, "Request failed: {0}, {1}", json, serverEx.GetInfo());
                throw;
            }
        }
Beispiel #2
0
        /// 获取存储桶信息
        public void HeadBucket()
        {
            //.cssg-snippet-body-start:[head-bucket]
            try
            {
                string            bucket  = "examplebucket-1250000000"; //格式:BucketName-APPID
                HeadBucketRequest request = new HeadBucketRequest(bucket);
                //执行请求
                HeadBucketResult result = cosXml.HeadBucket(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
        }
Beispiel #3
0
        /// <summary>
        /// 检索存储桶是否存在且是否有权限访问
        /// </summary>
        /// <param name="bucketName">存储桶,格式:BucketName-APPID</param>
        public static CosResultInfoResponseDto CheckBucket(string bucketName = CosConfig.DEFAULT_BUCKET)
        {
            var cosXml   = InitializeCosConfig();
            var response = new CosResultInfoResponseDto();

            try
            {
                string            bucket  = $"{bucketName}-{AppId}"; //格式:BucketName-APPID
                HeadBucketRequest request = new HeadBucketRequest(bucket);
                //设置签名有效时长
                request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);
                //执行请求
                HeadBucketResult result = cosXml.HeadBucket(request);
                //请求成功
                response.statusCode    = result.httpCode;
                response.statusMessage = result.httpMessage;
                return(response);
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                //请求失败
                response.statusCode    = clientEx.errorCode;
                response.statusMessage = clientEx.Message;
                response.info          = clientEx.ToJson();
                return(response);
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                //请求失败
                response.statusCode    = serverEx.statusCode;
                response.statusMessage = serverEx.statusMessage;
                response.info          = serverEx.GetInfo();
                return(response);
            }
        }
Beispiel #4
0
        public Task <bool> BucketExistsAsync(string bucketName)
        {
            if (string.IsNullOrEmpty(bucketName))
            {
                throw new ArgumentNullException(nameof(bucketName));
            }
            bucketName = ConvertBucketName(bucketName);
            HeadBucketRequest request = new HeadBucketRequest(bucketName);

            try
            {
                HeadBucketResult result = _client.HeadBucket(request);
                return(Task.FromResult(true));
            }
            catch (COSXML.CosException.CosClientException ex)
            {
                throw new Exception($"Rquest client error, {ex.Message}", ex);
            }
            catch (COSXML.CosException.CosServerException ex)
            {
                if (ex.statusCode == 403)
                {
                    return(Task.FromResult(true));
                }
                else if (ex.statusCode == 404)
                {
                    return(Task.FromResult(false));
                }
                else
                {
                    throw new Exception($"Server error, {ex.Message}", ex);
                }
            }
        }
Beispiel #5
0
        public static void AsynHeadBucket(COSXML.CosXml cosXml, string bucket)
        {
            HeadBucketRequest request = new HeadBucketRequest(bucket);

            //设置签名有效时长
            request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);

            ///执行请求
            cosXml.HeadBucket(request,
                              delegate(CosResult cosResult)
            {
                HeadBucketResult result = cosResult as HeadBucketResult;
                Console.WriteLine(result.GetResultInfo());
            },
                              delegate(CosClientException clientEx, CosServerException serverEx)
            {
                if (clientEx != null)
                {
                    QLog.D("XIAO", clientEx.Message);
                    Console.WriteLine("CosClientException: " + clientEx.StackTrace);
                }
                if (serverEx != null)
                {
                    QLog.D("XIAO", serverEx.Message);
                    Console.WriteLine("CosServerException: " + serverEx.GetInfo());
                }
            });
        }
Beispiel #6
0
 public void TestHeadBucket()
 {
     if (init())
     {
         HeadBucketResult bucket = ks3Client.headBucket(bucketName);
         Assert.IsNotNull(bucket);
     }
 }
Beispiel #7
0
        public void headBucket()
        {
            //.cssg-snippet-body-start:[head-bucket]
            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
                HeadBucketRequest request = new HeadBucketRequest(bucket);
                //设置签名有效时长
                request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);
                //执行请求
                HeadBucketResult result = cosXml.HeadBucket(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
        }
Beispiel #8
0
        private static bool headBucket()
        {
            // Head Bucket
            try
            {
                Console.WriteLine("--- Head Bucket: ---");
                Console.WriteLine("Bucket Name: " + bucketName);

                HeadBucketResult bucket = ks3Client.headBucket(bucketName);

                Console.WriteLine("Success.");
                Console.WriteLine("----------------------\n");
            }
            catch (System.Exception e)
            {
                Console.WriteLine("Head Bucket Fail! " + e.ToString());
                return(false);
            }
            return(true);
        }
Beispiel #9
0
        public void HeadBucket()
        {
            try
            {
                HeadBucketRequest request = new HeadBucketRequest(bucket);

                //执行请求
                HeadBucketResult result = cosXml.HeadBucket(request);

                Assert.AreEqual(result.httpCode, 200);
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                Console.WriteLine("CosClientException: " + clientEx.Message);
                Assert.Fail();
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                Console.WriteLine("CosServerException: " + serverEx.GetInfo());
                Assert.Fail();
            }
        }
Beispiel #10
0
 public static void HeadBucket(COSXML.CosXml cosXml, string bucket)
 {
     try
     {
         HeadBucketRequest request = new HeadBucketRequest(bucket);
         //设置签名有效时长
         request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);
         //执行请求
         HeadBucketResult result = cosXml.HeadBucket(request);
         Console.WriteLine(result.GetResultInfo());
     }
     catch (COSXML.CosException.CosClientException clientEx)
     {
         QLog.D("XIAO", clientEx.Message);
         Console.WriteLine("CosClientException: " + clientEx.Message);
     }
     catch (COSXML.CosException.CosServerException serverEx)
     {
         QLog.D("XIAO", serverEx.Message);
         Console.WriteLine("CosServerException: " + serverEx.GetInfo());
     }
 }