tencent cloud

masukan

Lifecycle

Terakhir diperbarui: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.
    Hubungi Kami

    Hubungi tim penjualan atau penasihat bisnis kami untuk membantu bisnis Anda.

    Dukungan Teknis

    Buka tiket jika Anda mencari bantuan lebih lanjut. Tiket kami tersedia 7x24.

    Dukungan Telepon 7x24