ECS

早过忘川 提交于 2019-12-01 17:01:39

生命周期

配置过期策略,支持增删改查,注意,若当前Bucket策略空,直接删除会报错。
查询

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;
}

删除

private void DeleteEcsRules() {
    // Delete current configuration
    DeleteLifecycleConfigurationRequest deleteRequest  = new DeleteLifecycleConfigurationRequest {
            BucketName = _bucketName  };
    _s3Client.DeleteLifecycleConfiguration(deleteRequest);
}

更新

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 Class

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!