/// <summary> /// 根据文件key集合删除 /// </summary> /// <param name="request"></param> /// <returns></returns> public IEnumerable <DeleteResultDto> RemoveRange(RemoveRangeParam request) { return(ToolCommon.GetResponse(() => { new RemoveRangeParamValidator().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 ret = client.DeleteObjects(new DeleteObjectsRequest(bucket, request.Keys, false)); if (ret.HttpStatusCode == HttpStatusCode.OK) { List <DeleteResultDto> deleteResultList = new List <DeleteResultDto>(); request.Keys.ForEach(key => { if (ret.Keys.Any(x => x.Key == key)) { deleteResultList.Add(new DeleteResultDto(true, key, "success")); } else { deleteResultList.Add(new DeleteResultDto(true, key, $"delete lose,RequestId:{ret.RequestId}")); } }); return deleteResultList; } return request.Keys.Select(x => new DeleteResultDto(false, x, $"delete lose,RequestId:{ret.RequestId},HttpStatusCode:{ret.HttpStatusCode}")); }, message => request.Keys.Select(x => new DeleteResultDto(false, x, message)))); }
/// <summary> /// 根据文件key集合删除 /// </summary> /// <param name="request"></param> /// <returns></returns> public IEnumerable <DeleteResultDto> RemoveRange(RemoveRangeParam request) { new RemoveRangeParamValidator().Validate(request).Check(HttpStatus.Err.Name); List <DeleteResultDto> res = new List <DeleteResultDto>(); request.Keys.ListPager((list) => { res.AddRange(DelMulti(list, request.PersistentOps)); }, 1000, 1); return(res); }
/// <summary> /// 根据文件key集合删除 /// </summary> /// <param name="request"></param> /// <returns></returns> public IEnumerable <DeleteResultDto> RemoveRange(RemoveRangeParam request) { throw new NotImplementedException(); }