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

相關文章
相關標籤/搜索