/// 获取存储桶 ACL public void GetBucketAcl() { //.cssg-snippet-body-start:[get-bucket-acl] try { string bucket = "examplebucket-1250000000"; //格式:BucketName-APPID GetBucketACLRequest request = new GetBucketACLRequest(bucket); //执行请求 GetBucketACLResult result = cosXml.GetBucketACL(request); //存储桶的 ACL 信息 AccessControlPolicy acl = result.accessControlPolicy; } catch (COSXML.CosException.CosClientException clientEx) { //请求失败 Console.WriteLine("CosClientException: " + clientEx); } catch (COSXML.CosException.CosServerException serverEx) { //请求失败 Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } //.cssg-snippet-body-end }
public static void AsynGetBucketACL(COSXML.CosXml cosXml, string bucket) { GetBucketACLRequest request = new GetBucketACLRequest(bucket); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); ///执行请求 cosXml.GetBucketACL(request, delegate(CosResult cosResult) { GetBucketACLResult result = cosResult as GetBucketACLResult; Console.WriteLine(result.GetResultInfo()); }, delegate(CosClientException clientEx, CosServerException serverEx) { if (clientEx != null) { QLog.D("XIAO", clientEx.Message); Console.WriteLine("CosClientException: " + clientEx.Message); } if (serverEx != null) { QLog.D("XIAO", serverEx.Message); Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } }); }
public void getBucketAcl() { //.cssg-snippet-body-start:[get-bucket-acl] 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 GetBucketACLRequest request = new GetBucketACLRequest(bucket); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); //执行请求 GetBucketACLResult result = cosXml.GetBucketACL(request); //存储桶的 ACL 信息 AccessControlPolicy acl = result.accessControlPolicy; } 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 static void GetBucketACL(COSXML.CosXml cosXml, string bucket) { try { GetBucketACLRequest request = new GetBucketACLRequest(bucket); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); //执行请求 GetBucketACLResult result = cosXml.GetBucketACL(request); Console.WriteLine(result.GetResultInfo()); } catch (COSXML.CosException.CosClientException clientEx) { QLog.D("XIAO", clientEx.Message); Console.WriteLine("CosClientException: " + clientEx.StackTrace); } catch (COSXML.CosException.CosServerException serverEx) { QLog.D("XIAO", serverEx.Message); Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } }
private void GetBucketACL() { try { GetBucketACLRequest request = new GetBucketACLRequest(bucket); //执行请求 GetBucketACLResult result = cosXml.GetBucketACL(request); AccessControlPolicy acl = result.accessControlPolicy; // Console.WriteLine(result.GetResultInfo()); Assert.IsNotEmpty(result.GetResultInfo()); Assert.AreEqual(result.httpCode, 200); Assert.NotNull(acl.owner); Assert.NotNull(acl.owner.id); Assert.NotNull(acl.owner.displayName); Assert.NotNull(acl.accessControlList); Assert.NotNull(acl.accessControlList.grants); Assert.NotZero(acl.accessControlList.grants.Count); Assert.NotNull(acl.accessControlList.grants[0].permission); Assert.NotNull(acl.accessControlList.grants[0].grantee); Assert.NotNull(acl.accessControlList.grants[0].grantee.id); Assert.NotNull(acl.accessControlList.grants[0].grantee.displayName); } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.StackTrace); Assert.Fail(); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.Fail(); } }
public void GetBucketACL(GetBucketACLRequest request, Callback.OnSuccessCallback <CosResult> successCallback, Callback.OnFailedCallback failCallback) { Schedue(request, new GetBucketACLResult(), successCallback, failCallback); }
public GetBucketACLResult GetBucketACL(GetBucketACLRequest request) { return((Model.Bucket.GetBucketACLResult)Excute(request, new Model.Bucket.GetBucketACLResult())); }
public Task <AccessMode> GetBucketAclAsync(string bucketName) { if (string.IsNullOrEmpty(bucketName)) { throw new ArgumentNullException(nameof(bucketName)); } bucketName = ConvertBucketName(bucketName); GetBucketACLRequest request = new GetBucketACLRequest(bucketName); //执行请求 GetBucketACLResult result = _client.GetBucketACL(request); //存储桶的 ACL 信息 AccessControlPolicy acl = result.accessControlPolicy; bool isPublicRead = false; bool isPublicWrite = false; if (acl != null && acl.accessControlList != null && acl.accessControlList.grants != null && acl.accessControlList.grants.Count > 0) { foreach (var item in acl.accessControlList.grants) { if (string.IsNullOrEmpty(item.grantee.uri)) { continue; } if (item.grantee.uri.Contains("allusers", StringComparison.OrdinalIgnoreCase)) { switch (item.permission.ToLower()) { case "read": isPublicRead = true; break; case "write": isPublicWrite = true; break; } } } } //结果 if (isPublicRead && !isPublicWrite) { return(Task.FromResult(AccessMode.PublicRead)); } else if (isPublicRead && isPublicWrite) { return(Task.FromResult(AccessMode.PublicReadWrite)); } else if (!isPublicRead && isPublicWrite) { return(Task.FromResult(AccessMode.Private)); } else { return(Task.FromResult(AccessMode.Private)); } }