static void GetObjectACL()
        {
            try
            {
                GetObjectAclRequest request = new GetObjectAclRequest()
                {
                    BucketName = bucketName,
                    ObjectKey  = objectName
                };
                GetObjectAclResponse response = client.GetObjectAcl(request);

                Console.WriteLine("Get object acl response: {0}.", response.StatusCode);

                foreach (Grant grant in response.AccessControlList.Grants)
                {
                    CanonicalGrantee grantee = (CanonicalGrantee)grant.Grantee;
                    Console.WriteLine("Grantee canonical user id: {0}", grantee.Id);
                    Console.WriteLine("Grantee canonical user display name: {0}", grantee.DisplayName);
                    Console.WriteLine("Grant permission: {0}", grant.Permission);
                }
            }
            catch (ObsException ex)
            {
                Console.WriteLine("Exception errorcode: {0}, when get object acl.", ex.ErrorCode);
                Console.WriteLine("Exception errormessage: {0}", ex.ErrorMessage);
            }
        }
 public static GetObjectAclCommand Create(IServiceClient client, Uri endpoint,
                                          ExecutionContext context,
                                          GetObjectAclRequest request)
 {
     return(new GetObjectAclCommand(client, endpoint, context, request,
                                    DeserializerFactory.GetFactory().CreateGetAclResultDeserializer()));
 }
Ejemplo n.º 3
0
        public Task <GetObjectAclResponse> GetObjectAclAsync(string bucketName, string objectKey, Action <GetObjectAclRequest>?config = null, CancellationToken token = default)
        {
            GetObjectAclRequest req = new GetObjectAclRequest(bucketName, objectKey);

            config?.Invoke(req);

            return(ObjectOperations.GetObjectAclAsync(req, token));
        }
 private GetObjectAclCommand(IServiceClient client, Uri endpoint, ExecutionContext context,
                             GetObjectAclRequest request,
                             IDeserializer <ServiceResponse, AccessControlList> deserializer)
     : base(client, endpoint, context, deserializer)
 {
     OssUtils.CheckBucketName(request.BucketName);
     OssUtils.CheckObjectKey(request.Key);
     _request = request;
 }
 /// <summary>
 /// Start the asynchronous request for obtaining an object ACL.
 /// </summary>
 /// <param name="request">Parameters in a request for obtaining an object ACL</param>
 /// <param name="callback">Asynchronous request callback function</param>
 /// <param name="state">Asynchronous request status object</param>
 /// <returns>Response to the asynchronous request</returns>
 public IAsyncResult BeginGetObjectAcl(GetObjectAclRequest request, AsyncCallback callback, object state)
 {
     return(this.BeginDoRequest <GetObjectAclRequest>(request, delegate()
     {
         if (request.ObjectKey == null)
         {
             throw new ObsException(Constants.InvalidObjectKeyMessage, ErrorType.Sender, Constants.InvalidObjectKey, "");
         }
     }, callback, state));
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Obtain an object ACL.
 /// </summary>
 /// <param name="request">Parameters in a request for obtaining an object ACL</param>
 /// <returns>Response to a request for obtaining an object ACL</returns>
 public GetObjectAclResponse GetObjectAcl(GetObjectAclRequest request)
 {
     return(this.DoRequest <GetObjectAclRequest, GetObjectAclResponse>(request, delegate()
     {
         if (request.ObjectKey == null)
         {
             throw new ObsException(Constants.InvalidObjectKeyMessage, ErrorType.Sender, Constants.InvalidObjectKey, "");
         }
     }));
 }
Ejemplo n.º 7
0
        public GetObjectAclResponse GetObjectACL(GetObjectAclRequest request)
        {
            EnsureAbsoluteUri(request);
            var command = new GetObjectACL(_userId, _secret, _builder, _authenticator)
            {
                Parameters = request
            };

            return((GetObjectAclResponse)((ICommandExecutor)this).Execute(command));
        }
        public void ObjectAclTest()
        {
            var key = OssTestUtils.GetObjectKey(_className);

            _ossClient.PutObject(_bucketName, key, Config.UploadTestFile);

            var getRequest = new GetObjectAclRequest(_bucketName, key);

            Assert.AreEqual(getRequest.RequestPayer, RequestPayer.BucketOwner);

            var setRequest = new SetObjectAclRequest(_bucketName, key, CannedAccessControlList.PublicRead);

            Assert.AreEqual(setRequest.RequestPayer, RequestPayer.BucketOwner);

            try
            {
                _ossPayerClient.GetObjectAcl(getRequest);
                Assert.Fail("should not here.");
            }
            catch (OssException e)
            {
                Assert.AreEqual(e.ErrorCode, "AccessDenied");
            }

            try
            {
                _ossPayerClient.SetObjectAcl(setRequest);
                Assert.Fail("should not here.");
            }
            catch (OssException e)
            {
                Assert.AreEqual(e.ErrorCode, "AccessDenied");
            }

            setRequest.RequestPayer = RequestPayer.Requester;
            getRequest.RequestPayer = RequestPayer.Requester;
            _ossPayerClient.SetObjectAcl(setRequest);
            var getResult = _ossPayerClient.GetObjectAcl(getRequest);

            Assert.AreEqual(getResult.ACL, CannedAccessControlList.PublicRead);

            setRequest = new SetObjectAclRequest(_bucketName, key, CannedAccessControlList.PublicReadWrite);
            setRequest.RequestPayer = RequestPayer.Requester;
            _ossPayerClient.SetObjectAcl(setRequest);
            getResult = _ossPayerClient.GetObjectAcl(getRequest);
            Assert.AreEqual(getResult.ACL, CannedAccessControlList.PublicReadWrite);
        }
Ejemplo n.º 9
0
 public Task <GetObjectAclResponse> GetObjectAclAsync(GetObjectAclRequest request, CancellationToken token = default)
 {
     return(_requestHandler.SendRequestAsync <GetObjectAclRequest, GetObjectAclResponse>(request, token));
 }