private SetBucketPolicyCommand(IServiceClient client, Uri endpoint, ExecutionContext context,
                                       string bucketName, SetBucketPolicyRequest request)
            : base(client, endpoint, context)
        {
            OssUtils.CheckBucketName(bucketName);

            _bucketName = bucketName;
            _request    = request;
        }
 public void SetBucketPolicyWithInvalidPolicyTexTest()
 {
     try
     {
         var request = new SetBucketPolicyRequest(_bucketName, "invalidpolicy");
         _ossClient.SetBucketPolicy(request);
         Assert.Fail("Set bucket policy should fail with invalid policy");
     }
     catch (OssException e)
     {
         Assert.AreEqual(e.ErrorCode, "InvalidPolicyDocument");
     }
     catch (Exception e)
     {
         Assert.IsTrue(false, e.Message);
     }
 }
        public void SetBucketPolicyTest()
        {
            string policy  = "{\"Version\":\"1\",\"Statement\":[{\"Action\":[\"oss:PutObject\",\"oss:GetObject\"],\"Resource\": \"acs:oss:*:*:*\",\"Effect\": \"Deny\"}]}\n";
            var    request = new SetBucketPolicyRequest(_bucketName, policy);

            Assert.AreEqual(policy, request.Policy);
            Assert.AreEqual(_bucketName, request.BucketName);

            _ossClient.SetBucketPolicy(request);

            OssTestUtils.WaitForCacheExpire();

            var result = _ossClient.GetBucketPolicy(_bucketName);

            Assert.AreEqual(result.Policy, policy);

            _ossClient.DeleteBucketPolicy(_bucketName);
        }
예제 #4
0
        static void SetBucketPolicy()
        {
            try
            {
                SetBucketPolicyRequest request = new SetBucketPolicyRequest()
                {
                    BucketName = bucketName,
                    ContentMD5 = "md5",
                    Policy     = "policy"
                };
                SetBucketPolicyResponse response = client.SetBucketPolicy(request);

                Console.WriteLine("Set bucket policy response: {0}", response.StatusCode);
            }
            catch (ObsException ex)
            {
                Console.WriteLine("Exception errorcode: {0}, when set bucket policy.", ex.ErrorCode);
                Console.WriteLine("Exception errormessage: {0}", ex.ErrorMessage);
            }
        }
예제 #5
0
 /// <summary>
 /// 配置桶的策略,如果桶已经存在一个策略,那么当前请求中的策略将完全覆盖桶中现存的策略。
 /// </summary>
 /// <param name="request">设置桶策略的请求参数。</param>
 /// <returns>设置桶策略的响应结果。</returns>
 public SetBucketPolicyResponse SetBucketPolicy(SetBucketPolicyRequest request)
 {
     return(this.DoRequest <SetBucketPolicyRequest, SetBucketPolicyResponse>(request));
 }
 /// <summary>
 /// Start the asynchronous request for setting bucket policies.
 /// </summary>
 /// <param name="request">Parameters in a request for setting bucket policies</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 BeginSetBucketPolicy(SetBucketPolicyRequest request, AsyncCallback callback, object state)
 {
     return(this.BeginDoRequest <SetBucketPolicyRequest>(request, callback, state));
 }
 public static SetBucketPolicyCommand Create(IServiceClient client, Uri endpoint,
                                             ExecutionContext context,
                                             string bucketName, SetBucketPolicyRequest request)
 {
     return(new SetBucketPolicyCommand(client, endpoint, context, bucketName, request));
 }