ECS

生命周期

配置过时策略,支持增删改查,注意,若当前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);
}

具体参见:PutLifecycleConfigurationRequest Classorm

相关文章
相关标签/搜索