/// <summary>
        /// 查询空间标签
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public TagResultDto GetTags(GetTagsBucketParam request)
        {
            return(ToolCommon.GetResponse(() =>
            {
                new GetTagsBucketParamValidator().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);
                // 查看Bucket标签。
                var ret = client.GetBucketTagging(bucket);
                if (ret != null && ret.HttpStatusCode == HttpStatusCode.OK)
                {
                    return new TagResultDto(true,
                                            ret.Tags.Select(x => new KeyValuePair <string, string>(x.Key, x.Value)).ToList(), "success");
                }

                if (ret != null)
                {
                    return new TagResultDto(false, null,
                                            $"lose,RequestId:{ret.RequestId},HttpStatusCode:{ret.HttpStatusCode}");
                }

                return new TagResultDto(false, null, "lose");
            }, message => new TagResultDto(false, null, message)));
        }
Example #2
0
        /// <summary>
        /// 查询空间标签
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public TagResultDto GetTags(GetTagsBucketParam request)
        {
            new GetTagsBucketParamValidator().Validate(request).Check(HttpStatus.Err.Name);
            var    scheme = Core.Tools.GetScheme(_qiNiuConfig, request.PersistentOps.IsUseHttps);
            string url    =
                $"{scheme}uc.qbox.me/bucketTagging?bucket={Core.Tools.GetBucket(_qiNiuConfig, request.PersistentOps.Bucket)}";

            _httpClient.Headers = new Dictionary <string, string>()
            {
                { "Authorization", $"{_storageProvider.GetManageToken(new GetManageTokenParam(url))}" }
            };

            try
            {
                string response = _httpClient.GetString(url);
                return(GetResponse(response, () =>
                {
                    var tagInfo = _jsonProvider.Deserialize <BucketTagResultResponse>(response);
                    if (tagInfo != null)
                    {
                        return new TagResultDto(true, tagInfo.Tags, "success");
                    }

                    return new TagResultDto(false, new List <KeyValuePair <string, string> >(),
                                            $"{response},反序列化失败");
                },
                                   resultResponse =>
                                   new TagResultDto(false, null, $"{resultResponse.Error}|{resultResponse.ErrorCode}")));
            }
            catch (Exception ex)
            {
                this._logger?.LogError(ex.ExtractAllStackTrace());
                return(new TagResultDto(false, null, $"lose {ex.Message}"));
            }
        }
 public TagResultDto GetTags(GetTagsBucketParam param)
 {
     throw new System.NotImplementedException();
 }