tencent cloud

Feedback

Lifecycle

Last updated: 2024-01-23 17:15:08

    Overview

    This document provides an overview of APIs and SDK code samples related to lifecycles.
    API
    Operation
    Description
    Setting lifecycle configuration
    Sets lifecycle for a bucket
    Querying a lifecycle configuration
    Queries the lifecycle configuration of a bucket
    Deleting a lifecycle configuration
    Deletes the lifecycle configuration of a bucket

    SDK API References

    For parameters and method description of all APIs in the SDK, please see SDK API Reference.

    Setting a Lifecycle Configuration

    Description

    This API is used to set the lifecycle configuration of a specified bucket.

    Sample code

    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.tencentcloud.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.tencentcloud.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.

    Querying a Lifecycle Configuration

    Description

    This API is used to query the lifecycle management configuration of a bucket.

    Sample code

    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.tencentcloud.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.

    Deleting a Lifecycle Configuration

    Description

    This API is used to delete the lifecycle management configuration of a bucket.

    Sample code

    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.tencentcloud.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.
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support