Exemple #1
0
        /// <summary>
        /// 设置标签
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public OperateResultDto SetTag(SetTagBucketParam request)
        {
            new SetTagBucketParamValidator().Validate(request).Check(HttpStatus.Err.Name);
            var                 scheme      = Core.Tools.GetScheme(_qiNiuConfig, request.PersistentOps.IsUseHttps);
            RestClient          restClient  = new RestClient($"{scheme}uc.qbox.me");
            string              bucket      = Core.Tools.GetBucket(_qiNiuConfig, request.PersistentOps.Bucket);
            RestRequest         restRequest = new RestRequest($"/bucketTagging?bucket={bucket}", Method.PUT);
            GetManageTokenParam param       =
                new GetManageTokenParam($"{scheme}uc.qbox.me/bucketTagging?bucket={bucket}");

            restRequest.AddHeader("Authorization",
                                  $"{_storageProvider.GetManageToken(param)}");
            restRequest.AddParameter("application/json; charset=utf-8;", _jsonProvider.Serializer(new
            {
                Tags = request.Tags
            }),
                                     ParameterType.RequestBody);
            try
            {
                string response = restClient.Execute(restRequest).Content;
                return(GetResponse(response, () => new OperateResultDto(true,
                                                                        "success"),
                                   resultResponse =>
                                   new OperateResultDto(false, $"{resultResponse.Error}|{resultResponse.ErrorCode}")));
            }
            catch (Exception ex)
            {
                this._logger?.LogError(ex.ExtractAllStackTrace());
                return(new OperateResultDto(false, $"lose {ex.Message}"));
            }
        }
 /// <summary>
 /// 设置标签
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public OperateResultDto SetTag(SetTagBucketParam request)
 {
     return(ToolCommon.GetResponse(() =>
     {
         new SetTagBucketParamValidator().Validate(request).Check(HttpStatus.Err.Name);
         var zone = Core.Tools.GetZone(_aLiYunConfig, request.PersistentOps.Zone, () => ZoneEnum.HangZhou);
         var client = _aLiYunConfig.GetClient(zone);
         var bucket = Core.Tools.GetBucket(_aLiYunConfig, request.PersistentOps.Bucket);
         var setRequest = new SetBucketTaggingRequest(bucket);
         request.Tags.ForEach(tag =>
         {
             setRequest.AddTag(new Tag()
             {
                 Key = tag.Key,
                 Value = tag.Value
             });
         });
         client.SetBucketTagging(setRequest);
         return new OperateResultDto(true, "success");
     }, message => new OperateResultDto(false, message)));
 }
 public OperateResultDto SetTag(SetTagBucketParam param)
 {
     throw new System.NotImplementedException();
 }