合规保留
更新时间:2026-08-04
InitBucketObjectLock
本接口为指定Bucket创建基于时间的合规保留策略,此时策略状态变成IN_PROGRESS状态。
注意:
该状态的有效期为24小时,在有效期24小时内,此策略对应的Bucket资源处于保护状态,其保护规则如下所示: 假设您在2013年6月1日创建一个名为examplebucket的Bucket,并且在不同时间上传了file1.txt、file2.txt、 file3.txt三个Object。随后在2014年7月1日创建了保护周期为5年的bucket锁策略。有关这三个Object的具体上传时间以及对应的Object到期时间如下:
Object名称 上传时间 Object到期时间 file1.txt 2013年6月1日 2018年5月31日 file2.txt 2014年7月1日 2019年6月30日 file3.txt 2018年9月30日 2023年9月29日 - Bucket内的数据处于被保护状态时,任何人包括您尝试删除或修改这些数据,BOS API将返回409 FileImmutable的错误信息,请您谨慎配置该合规策略。
相关参数参见InitBucketObjectLock接口。
C++
1void init_bucket_object_lock(Client &client) {
2 InitBucketObjectLockRequest request(g_bucket, 30);
3 InitBucketObjectLockResponse response;
4 client.init_bucket_object_lock(request, &response);
5 print_common_response(response);
6}
GetBucketObjectLock
获取合规保留策略配置信息。
相关参数参见GetBucketObjectLock接口。
C++
1void get_bucket_object_lock(Client &client) {
2 GetBucketObjectLockRequest request(g_bucket);
3 GetBucketObjectLockResponse response;
4 client.get_bucket_object_lock(request, &response);
5 print_common_response(response);
6 if (response.is_ok()) {
7 const BucketObjectLockConfiguration &configuration = response.configuration();
8 std::cout << "lockStatus: " << configuration.lock_status << std::endl;
9 std::cout << "createDate: " << configuration.create_date << std::endl;
10 std::cout << "expirationDate: " << configuration.expiration_date << std::endl;
11 std::cout << "retentionDays: " << configuration.retention_days << std::endl;
12 }
13}
DeleteBucketObjectLock
当合规保留策略处于IN_PROGRESS和EXPIRED状态时,您可以通过该接口进行删除合规保留策略,若合规保留策略处于LOCKED锁定状态时,您将不能进行删除操作,除非删除该Bucket。
相关参数参见DeleteBucketObjectLock接口。
C++
1void delete_bucket_object_lock(Client &client) {
2 DeleteBucketObjectLockRequest request(g_bucket);
3 DeleteBucketObjectLockResponse response;
4 client.delete_bucket_object_lock(request, &response);
5 print_common_response(response);
6}
CompleteBucketObjectLock
将合规保留策略立即锁定,变成LOCKED锁定状态,当合规保留策略处于LOCKED锁定时,任何人不可删除该策略,除非删除该Bucket,请您谨慎配置。
相关参数参见CompleteBucketObjectLock接口。
C++
1void complete_bucket_object_lock(Client &client) {
2 CompleteBucketObjectLockRequest request(g_bucket);
3 CompleteBucketObjectLockResponse response;
4 client.complete_bucket_object_lock(request, &response);
5 print_common_response(response);
6}
ExtendBucketObjectLock
本接口用于延长合规保留策略保护周期。
相关参数参见ExtendBucketObjectLock接口。
C++
1void extend_bucket_object_lock(Client &client) {
2 ExtendBucketObjectLockRequest request(g_bucket, 60);
3 ExtendBucketObjectLockResponse response;
4 client.extend_bucket_object_lock(request, &response);
5 print_common_response(response);
6}
评价此篇文章
