/// <summary> /// 批量设置生存时间(超时会自动删除) /// </summary> /// <param name="request"></param> /// <returns></returns> public List <ExpireResultDto> SetExpireRange(SetExpireRangeParam request) { return(ToolCommon.GetResponse(() => { 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 setBucketLifecycleRequest = new SetBucketLifecycleRequest(bucket); List <ExpireResultDto> list = new List <ExpireResultDto>(); request.Keys.ForEach(key => { LifecycleRule lcr = new LifecycleRule() { ID = "delete " + key + " files", Prefix = key, Status = RuleStatus.Enabled, ExpriationDays = request.Expire }; setBucketLifecycleRequest.AddLifecycleRule(lcr); list.Add(new ExpireResultDto(true, key, "success")); }); client.SetBucketLifecycle(setBucketLifecycleRequest); //调整生命周期 return list; }, message => { List <ExpireResultDto> list = new List <ExpireResultDto>(); request.Keys.ForEach(key => { list.Add(new ExpireResultDto(false, key, message)); }); return list; })); }
/// <summary> /// 批量设置生存时间(超时会自动删除) /// </summary> /// <param name="request"></param> /// <returns></returns> public List <ExpireResultDto> SetExpireRange(SetExpireRangeParam request) { new SetExpireRangeParamValidator().Validate(request).Check(HttpStatus.Err.Name); List <ExpireResultDto> expireResult = new List <ExpireResultDto>(); request.Keys.Distinct().ToList() .ListPager( (list) => { expireResult.AddRange(SetExpireMulti(list.ToArray(), request.Expire, request.PersistentOps)); }, 1000, 1); return(expireResult); }
/// <summary> /// 批量设置生存时间(超时会自动删除) /// </summary> /// <param name="request"></param> /// <returns></returns> public List <ExpireResultDto> SetExpireRange(SetExpireRangeParam request) { throw new NotImplementedException(); }