配置過時策略,支持增刪改查,注意,若當前Bucket策略空,直接刪除會報錯。
查詢html
private LifecycleConfiguration GetEcsRules() { // Retrieve current configuration GetLifecycleConfigurationRequest getRequest = new GetLifecycleConfigurationRequest { BucketName = _bucketName }; var response = _s3Client.GetLifecycleConfiguration(getRequest); return (response != null && response.Configuration != null) ? response.Configuration : null; }
刪除api
private void DeleteEcsRules() { // Delete current configuration DeleteLifecycleConfigurationRequest deleteRequest = new DeleteLifecycleConfigurationRequest { BucketName = _bucketName }; _s3Client.DeleteLifecycleConfiguration(deleteRequest); }
更新code
private void UpdateEcsRules(LifecycleConfiguration lcConfig_New = null) { LifecycleRuleExpiration lcRuleExpiration = new LifecycleRuleExpiration() { Days = _expireDay, }; LifecycleRule lcRule_1 = new LifecycleRule() { Expiration = lcRuleExpiration, Prefix = DateTime.Now.AddDays(-2).ToString(_prefix_format), Status = LifecycleRuleStatus.Enabled, }; LifecycleConfiguration lcConfig = new LifecycleConfiguration(); lcConfig.Rules.Add(lcRule_1); PutLifecycleConfigurationRequest request = new PutLifecycleConfigurationRequest() { BucketName = _bucketName, Configuration = lcConfig, }; _s3Client.PutLifecycleConfiguration(request); }