/// <summary> /// 获取桶存储类型 /// </summary> /// <param name="bucketName"></param> /// <returns></returns> /// <exception cref="Exception"></exception> /// <remarks> /// 标准存储(StorageClassEnum.Standard) 标准存储拥有低访问时延和较高的吞吐量,适用于有大量热点对象(平均一个月多次)或小对象(<1MB),且需要频繁访问数据的业务场景。 /// 低频访问存储(StorageClassEnum.Warm) 低频访问存储适用于不频繁访问(平均一年少于12次)但在需要时也要求能够快速访问数据的业务场景。 /// 归档存储(StorageClassEnum.Cold) 归档存储适用于很少访问(平均一年访问一次)数据的业务场景。 /// </remarks> public Task <StorageClassEnum> GetBucketStoragePolicyAsync(string bucketName) { GetBucketStoragePolicyRequest request = new GetBucketStoragePolicyRequest() { BucketName = bucketName, }; GetBucketStoragePolicyResponse response = _client.GetBucketStoragePolicy(request); if (response.StatusCode != HttpStatusCode.OK || response.StorageClass == null) { throw new Exception($"Get bucket '{bucketName}' storage policy failed. response code is {response.StatusCode}, response data: {JsonUtil.SerializeObject(response)}"); } return(Task.FromResult(response.StorageClass.Value)); }
static void GetBucketStoragePolicy() { try { GetBucketStoragePolicyRequest request = new GetBucketStoragePolicyRequest() { BucketName = bucketName, }; GetBucketStoragePolicyResponse response = client.GetBucketStoragePolicy(request); Console.WriteLine("Get bucket storage policy response: {0}", response.StatusCode); Console.WriteLine("Bucket DefaultStorageClass: {0}", response.StorageClass.ToString()); } catch (ObsException ex) { Console.WriteLine("Exception errorcode: {0}, when get bucket storage policy.", ex.ErrorCode); Console.WriteLine("Exception errormessage: {0}", ex.ErrorMessage); } }
/// <summary> /// 获取桶的存储策略。 /// </summary> /// <param name="request">获取桶的存储策略的请求参数。</param> /// <returns>获取桶的存储策略响应结果。</returns> public GetBucketStoragePolicyResponse GetBucketStoragePolicy(GetBucketStoragePolicyRequest request) { return(DoRequest <GetBucketStoragePolicyRequest, GetBucketStoragePolicyResponse>(request)); }
/// <summary> /// Start the asynchronous request for obtaining bucket storage policies. /// </summary> /// <param name="request">Parameters in a request for obtaining bucket storage 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 BeginGetBucketStoragePolicy(GetBucketStoragePolicyRequest request, AsyncCallback callback, object state) { return(BeginDoRequest <GetBucketStoragePolicyRequest>(request, callback, state)); }