This document provides an overview of APIs and SDK code samples related to lifecycles.
API | Operation | Description |
---|---|---|
PUT Bucket lifecycle | Setting lifecycle configuration | Sets lifecycle for a bucket |
GET Bucket lifecycle | Querying a lifecycle configuration | Queries the lifecycle configuration of a bucket |
DELETE Bucket lifecycle | Deleting a lifecycle configuration | Deletes the lifecycle configuration of a bucket |
For parameters and method description of all APIs in the SDK, please see SDK API Reference.
This API is used to set the lifecycle configuration of a specified bucket.
Objective-C
QCloudPutBucketLifecycleRequest* request = [QCloudPutBucketLifecycleRequest new];
// Bucket name in the format of BucketName-Appid, which can be viewed in the COS console at https://console.intl.cloud.tencent.com/cos5/bucket
request.bucket = @"examplebucket-1250000000";
__block QCloudLifecycleConfiguration* lifecycleConfiguration =
[[QCloudLifecycleConfiguration alloc] init];
// Rule description
QCloudLifecycleRule* rule = [[QCloudLifecycleRule alloc] init];
// Unique rule ID
rule.identifier = @"identifier";
// Indicates whether the rule is enabled. Enumerated values: Enabled, Disabled
rule.status = QCloudLifecycleStatueEnabled;
// Describes the set of objects subject to the rule
QCloudLifecycleRuleFilter* filter = [[QCloudLifecycleRuleFilter alloc] init];
// Specifies the prefix to which the rule applies. Objects that match the prefix are subject to the rule. You can specify at most one prefix
filter.prefix = @"prefix1";
// Describes the set of objects subject to the rule
rule.filter = filter;
// Transition attribute of the rule, specifying when an object should transition to Standard_IA or ARCHIVE storage class
QCloudLifecycleTransition* transition = [[QCloudLifecycleTransition alloc] init];
// Specifies the number of days after which the object is last modified that the action in the rule will be performed
transition.days = 100;
// Specifies the transitioned storage class of object. Enumerated values: Standard_IA, ARCHIVE
transition.storageClass = QCloudCOSStorageStandardIA;
rule.transition = transition;
request.lifeCycle = lifecycleConfiguration;
// Lifecycle configuration
request.lifeCycle.rules = @[rule];
[request setFinishBlock:^(id outputObject, NSError* error) {
// `outputObject` contains all the HTTP response headers
NSDictionary* info = (NSDictionary *) outputObject;
}];
[[QCloudCOSXMLService defaultCOSXML] PutBucketLifecycle:request];
Note:For the complete sample, go to GitHub.
Swift
let putBucketLifecycleReq = QCloudPutBucketLifecycleRequest.init();
// Bucket name in the format of BucketName-Appid, which can be viewed in the COS console at https://console.intl.cloud.tencent.com/cos5/bucket
putBucketLifecycleReq.bucket = "examplebucket-1250000000";
let config = QCloudLifecycleConfiguration.init();
// Rule description
let rule = QCloudLifecycleRule.init();
// Unique rule ID
rule.identifier = "swift";
// Indicates whether the rule is enabled. Enumerated values: Enabled, Disabled
rule.status = .enabled;
// Describes the set of objects subject to the rule
let fileter = QCloudLifecycleRuleFilter.init();
// Specifies the prefix to which the rule applies. Objects that match the prefix are subject to the rule. You can specify at most one prefix
fileter.prefix = "0";
// Describes the set of objects subject to the rule
rule.filter = fileter;
// Transition attribute of the rule, specifying when an object should transition to Standard_IA or ARCHIVE storage class
let transition = QCloudLifecycleTransition.init();
// Specifies the number of days after which the object is last modified that the action in the rule will be performed
transition.days = 100;
// Specifies the transitioned storage class of object. Enumerated values: Standard_IA, ARCHIVE
transition.storageClass = .standardIA;
rule.transition = transition;
putBucketLifecycleReq.lifeCycle = config;
// Lifecycle configuration
putBucketLifecycleReq.lifeCycle.rules = [rule];
putBucketLifecycleReq.finishBlock = {(result,error) in
if let result = result {
// "result" contains response headers.
} else {
print(error!);
}
}
QCloudCOSXMLService.defaultCOSXML().putBucketLifecycle(putBucketLifecycleReq);
Note:For the complete sample, go to GitHub.
This API is used to query the lifecycle management configuration of a bucket.
Objective-C
QCloudGetBucketLifecycleRequest* request = [QCloudGetBucketLifecycleRequest new];
// Bucket name in the format of BucketName-Appid, which can be viewed in the COS console at https://console.cloud.tencent.com/cos5/bucket
request.bucket = @"examplebucket-1250000000";
[request setFinishBlock:^(QCloudLifecycleConfiguration* result,NSError* error) {
// You can get the returned information from result
// `result.rules` is the array of rule descriptions
}];
[[QCloudCOSXMLService defaultCOSXML] GetBucketLifecycle:request];
Note:For the complete sample, go to GitHub.
Swift
let getBucketLifeCycle = QCloudGetBucketLifecycleRequest.init();
getBucketLifeCycle.bucket = "examplebucket-1250000000";
getBucketLifeCycle.setFinish { (config, error) in
if let config = config {
// Lifecycle rule
let rules = config.rules
} else {
print(error!);
}
};
QCloudCOSXMLService.defaultCOSXML().getBucketLifecycle(getBucketLifeCycle);
Note:For the complete sample, go to GitHub.
This API is used to delete the lifecycle management configuration of a bucket.
Objective-C
QCloudDeleteBucketLifeCycleRequest* request =
[[QCloudDeleteBucketLifeCycleRequest alloc ] init];
// Bucket name in the format of BucketName-Appid, which can be viewed in the COS console at https://console.cloud.tencent.com/cos5/bucket
request.bucket = @"examplebucket-1250000000";
[request setFinishBlock:^(QCloudLifecycleConfiguration* deleteResult, NSError* error) {
// Returns the deletion result
}];
[[QCloudCOSXMLService defaultCOSXML] DeleteBucketLifeCycle:request];
Note:For the complete sample, go to GitHub.
Swift
let deleteBucketLifeCycle = QCloudDeleteBucketLifeCycleRequest.init();
deleteBucketLifeCycle.bucket = "examplebucket-1250000000";
deleteBucketLifeCycle.finishBlock = { (result, error) in
if let result = result {
// "result" contains response headers.
} else {
print(error!);
}
};
QCloudCOSXMLService.defaultCOSXML().deleteBucketLifeCycle(deleteBucketLifeCycle);
Note:For the complete sample, go to GitHub.
Apakah halaman ini membantu?