tencent cloud

Feedback

Lifecycle

Last updated: 2024-02-02 12:12:57

    Overview

    This document provides an overview of APIs and SDK code samples related to lifecycle.
    API
    Operation
    Description
    Setting a lifecycle
    Sets a 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

    Setting a Lifecycle

    API description

    This API (PUT Bucket lifecycle) is used to set a lifecycle for a bucket.

    Method prototype

    CosResult CosAPI::PutBucketLifecycle(const PutBucketLifecycleReq& request, PutBucketLifecycleResp* response)

    Sample request

    qcloud_cos::CosConfig config("./config.json");
    qcloud_cos::CosAPI cos(config);
    std::string bucket_name = "examplebucket-1250000000";
    qcloud_cos::PutBucketLifecycleReq req(bucket_name);
    qcloud_cos::PutBucketLifecycleResp resp;
    
    qcloud_cos::LifecycleRule rule;
    rule.SetIsEnable(true); // Specify whether to enable the rule. Enumerated values: Enabled, Disabled.
    rule.SetId("lifecycle_rule00"); // Set the unique ID for the rule. It can be up to 255 characters.
    
    qcloud_cos::LifecycleFilter filter;
    filter.SetPrefix("test");
    rule.SetFilter(filter); // Set a maximum of one prefix for the rule. It specifies the objects the rule applies to.
    
    qcloud_cos::LifecycleTransition transition; // Lifecycle transition attributes
    transition.SetDays(30);
    transition.SetStorageClass("Standard_IA");
    rule.AddTransition(transition);
    req.AddRule(rule);
    
    qcloud_cos::CosResult result = cos.GetBucketWebsite(req, &resp);
    
    if (result.IsSucc()) {
    // Request successful
    } else {
    // Request failed. You can call the CosResult member functions to output the error information, such as requestID.
    }

    Parameter description

    Parameter
    Description
    Type
    Required
    req
    Request of the PutBucketLifecycle operation
    PutBucketLifecycleReq
    Yes
    resp
    Response of the PutBucketLifecycle operation
    PutBucketLifecycleResp
    Yes
    PutBucketLifecycleReq provides the following methods to set the lifecycle rule:
    void AddRule(const LifecycleRule& rule);
    void SetRule(const std::vector<LifecycleRule>& rules);
    Note:
    For the definition of the classes LifecycleRule, LifecycleFilter, LifecycleTransition, LifecycleExpiration, LifecycleNonCurrTransition, LifecycleNonCurrExpiration, and AbortIncompleteMultipartUpload, please refer to the SDK header file include/cos_defines.h.

    Querying a Lifecycle Configuration

    API description

    This API (GET Bucket lifecycle) is used to query the lifecycle configuration of a bucket.

    Method prototype

    CosResult CosAPI::GetBucketLifecycle(const GetBucketLifecycleReq& request, GetBucketLifecycleResp* response);

    Sample request

    qcloud_cos::CosConfig config("./config.json");
    qcloud_cos::CosAPI cos(config);
    std::string bucket_name = "examplebucket-1250000000";
    qcloud_cos::GetBucketLifecycleReq req(bucket_name);
    qcloud_cos::GetBucketLifecycleResp resp;
    
    qcloud_cos::CosResult result = cos.GetBucketLifecycle(req, &resp);
    
    if (result.IsSucc()) {
    // Request successful. You can obtain the lifecycle configuration via `resp`.
    } else {
    // Request failed. You can call the CosResult member functions to output the error information, such as requestID.
    }

    Parameter description

    Parameter
    Description
    Type
    Required
    req
    Request of the GetBucketLifecycle operation
    GetBucketLifecycleReq
    Yes
    resp
    Response of the GetBucketLifecycle operation
    GetBucketLifecycleResp
    Yes
    GetBucketLifecycleResp provides the following method to obtain the lifecycle rule:
    std::vector<LifecycleRule> GetRules() const;

    Deleting a Lifecycle Configuration

    API description

    This API (DELETE Bucket lifecycle) is used to delete the lifecycle configuration of a bucket.

    Method prototype

    CosResult CosAPI::DeleteBucketLifecycle(const DeleteBucketLifecycleReq& request, DeleteBucketLifecycleResp* response);

    Sample request

    qcloud_cos::CosConfig config("./config.json");
    qcloud_cos::CosAPI cos(config);
    std::string bucket_name = "examplebucket-1250000000";
    qcloud_cos::DeleteBucketLifecycleReq req(bucket_name);
    qcloud_cos::DeleteBucketLifecycleResp resp;
    
    qcloud_cos::CosResult result = cos.DeleteBucketLifecycle(req, &resp);
    
    if (result.IsSucc()) {
    // Request successful
    } else {
    // Request failed. You can call the CosResult member functions to output the error information, such as requestID.
    }

    Parameter description

    Parameter
    Description
    Type
    Required
    req
    Request of the DeletBucketLifecycle operation
    DelettBucketLifecycleReq
    Yes
    resp
    Response of the DeletBucketLifecycle operation
    DeletBucketLifecycleResp
    Yes
    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