/// 设置存储桶 ACL public void PutBucketAcl() { //.cssg-snippet-body-start:[put-bucket-acl] try { string bucket = "examplebucket-1250000000"; //格式:BucketName-APPID PutBucketACLRequest request = new PutBucketACLRequest(bucket); //设置私有读写权限 request.SetCosACL(CosACL.PRIVATE); //授予1131975903账号读权限 COSXML.Model.Tag.GrantAccount readAccount = new COSXML.Model.Tag.GrantAccount(); readAccount.AddGrantAccount("1131975903", "1131975903"); request.SetXCosGrantRead(readAccount); //执行请求 PutBucketACLResult result = cosXml.PutBucketACL(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 }
public Task <bool> SetBucketAclAsync(string bucketName, AccessMode mode) { if (string.IsNullOrEmpty(bucketName)) { throw new ArgumentNullException(nameof(bucketName)); } bucketName = ConvertBucketName(bucketName); var acl = mode switch { AccessMode.Default => CosACL.Private, AccessMode.Private => CosACL.Private, AccessMode.PublicRead => CosACL.PublicRead, AccessMode.PublicReadWrite => CosACL.PublicReadWrite, _ => CosACL.Private, }; PutBucketACLRequest request = new PutBucketACLRequest(bucketName); //设置私有读写权限 request.SetCosACL(acl); //执行请求 PutBucketACLResult result = _client.PutBucketACL(request); return(Task.FromResult(result.IsSuccessful())); }