tencent cloud

Feedback

Lifecycle

Last updated: 2024-02-04 14:25:57
    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

    Setting a Lifecycle Configuration

    Description

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

    Method prototype

    public Guzzle\\Service\\Resource\\Model putBucketLifecycle(array $args = array());

    Sample request

    Sample 1: Delete all objects with a lifecycle of 1 day

    <?php
    
    require dirname(__FILE__) . '/../vendor/autoload.php';
    
    $secretId = "SECRETID"; //Replace it with the actual SecretId, which can be viewed and managed at https://console.tencentcloud.com/cam/capi
    $secretKey = "SECRETKEY"; //Replace it with the actual SecretKey, which can be viewed and managed at https://console.tencentcloud.com/cam/capi
    $region = "ap-beijing"; //Replace it with the actual region, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket
    $cosClient = new Qcloud\\Cos\\Client(
    array(
    'region' => $region,
    'schema' => 'https', // Protocol header, which is http by default
    'credentials'=> array(
    'secretId' => $secretId ,
    'secretKey' => $secretKey)));
    
    try {
    $result = $cosClient->putBucketLifecycle(array(
    'Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
    'Rules' => array(
    array(
    'Expiration' => array(
    'Days' => 1,
    ),
    'ID' => 'rule01',
    'Filter' => array(
    'Prefix' => ''
    ),
    'Status' => 'Enabled',
    ),
    )
    ));
    // Request succeeded
    print_r($result);
    } catch (\\Exception $e) {
    // Request failed
    echo "$e\\n";
    }

    Sample 2: Transition a prefixed object with a lifecycle of 1 day to ARCHIVE

    <?php
    
    require dirname(__FILE__) . '/../vendor/autoload.php';
    
    $secretId = "SECRETID"; //Replace it with the actual SecretId, which can be viewed and managed at https://console.tencentcloud.com/cam/capi
    $secretKey = "SECRETKEY"; //Replace it with the actual SecretKey, which can be viewed and managed at https://console.tencentcloud.com/cam/capi
    $region = "ap-beijing"; //Replace it with the actual region, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket
    $cosClient = new Qcloud\\Cos\\Client(
    array(
    'region' => $region,
    'schema' => 'https', // Protocol header, which is http by default
    'credentials'=> array(
    'secretId' => $secretId ,
    'secretKey' => $secretKey)));
    
    try {
    $result = $cosClient->putBucketLifecycle(array(
    'Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
    'Rules' => array(
    array(
    'ID' => 'rule01',
    'Filter' => array(
    'Prefix' => 'prefix01/'
    ),
    'Status' => 'Enabled',
    'Transitions' => array(
    array(
    'Days' => 1,
    'StorageClass' => 'Archive'
    ),
    ),
    ),
    )
    ));
    // Request succeeded
    print_r($result);
    } catch (\\Exception $e) {
    // Request failed
    echo "$e\\n";
    }

    Parameter description

    Parameter
    Type
    Description
    Required
    Bucket
    String
    Bucket for which the lifecycle is configured, in the format of BucketName-APPID
    Yes
    Rules
    Array
    Lifecycle information list
    Yes
    Rules
    Array
    Lifecycle configuration
    Yes
    Expiration
    Array
    Object expiration rule. You can specify an expiration date (Date) or the number of days before the object expires (Days).
    No
    Transition
    Array
    Object storage class transitioning rule
    No
    NoncurrentVersionExpiration
    Array
    Expiration rule for historical objects
    No
    NoncurrentVersionTransition
    Array
    Storage class transitioning rule for historica
    No
    Filter
    Array
    Objects to which the rule applies
    Yes
    Prefix
    String
    Prefix used to filter objects
    Yes
    Status
    String
    Whether to enable Rule. Valid values: Enabled, Disabled
    Yes
    ID
    String
    Rule ID
    Yes
    Days
    Int
    Number of valid days before the rule takes effect
    No
    Date
    Int / String
    Date on which the rule takes effect
    No
    NoncurrentDays
    Int
    Number of valid days for a single-version object
    No
    StorageClass
    String
    Storage class to be transitioned to. Valid values: STANDARD (default), STANDARD_IA, ARCHIVE
    Yes

    Querying a Lifecycle Configuration

    Description

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

    Method prototype

    public Guzzle\\Service\\Resource\\Model getBucketLifecycle(array $args = array());

    Sample request

    <?php
    
    require dirname(__FILE__) . '/../vendor/autoload.php';
    
    $secretId = "SECRETID"; //Replace it with the actual SecretId, which can be viewed and managed at https://console.tencentcloud.com/cam/capi
    $secretKey = "SECRETKEY"; //Replace it with the actual SecretKey, which can be viewed and managed at https://console.tencentcloud.com/cam/capi
    $region = "ap-beijing"; //Replace it with the actual region, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket
    $cosClient = new Qcloud\\Cos\\Client(
    array(
    'region' => $region,
    'schema' => 'https', // Protocol header, which is http by default
    'credentials'=> array(
    'secretId' => $secretId ,
    'secretKey' => $secretKey)));
    
    try {
    $result = $cosClient->getBucketLifecycle(array(
    'Bucket' => 'examplebucket-1250000000' // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
    ));
    // Request succeeded
    print_r($result);
    } catch (\\Exception $e) {
    // Request failed
    echo($e);
    }

    Parameter description

    Parameter
    Type
    Description
    Required
    Bucket
    String
    Bucket for which the lifecycle is queried, in the format of BucketName-APPID
    Yes

    Sample response

    Guzzle\\Service\\Resource\\Model Object
    (
    [data:protected] => Array
    (
    [Rules] => Array
    (
    [0] => Array
    (
    [ID] => id1
    [Filter] => Array
    (
    [Prefix] => documents/
    )
    [Status] => Enabled
    [Transition] => Array
    (
    [Days] => 200
    [StorageClass] => Standard_IA
    )
    [Expiration] => Array
    (
    [Days] => 1000
    )
    )
    )
    [RequestId] => NWE3YzhlZjNfY2FhMzNiMGFfNDVkNF8yZDIxODE=
    )
    )

    Response description

    Parameter Name
    Type
    Description
    Parent Node
    Rules
    Array
    Lifecycle configuration list
    None
    Rules
    Array
    Lifecycle configuration
    Rules
    Expiration
    Array
    Expiration rule for an object. You can specify an expiration date (Date) or the number of days before the object expires (Days).
    Rule
    Transition
    Array
    Object storage class transitioning rule
    Rule
    Filter
    Array
    Objects to which the rule applies
    Rule
    Prefix
    String
    Prefix used to filter objects
    Filter
    Status
    String
    Whether to enable Rule. Valid values: Enabled, Disabled
    Rule
    ID
    String
    Rule ID
    Rule
    Days
    Int
    Number of days before the rule takes effect
    Expiration / Transition
    Date
    Int / String
    Date on which the rule takes effect
    Expiration / Transition
    StorageClass
    String
    Storage class to be transitioned to. Valid values: STANDARD (default), STANDARD_IA, ARCHIVE
    Transition

    Deleting a Lifecycle Configuration

    Description

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

    Method prototype

    public Guzzle\\Service\\Resource\\Model deleteBucketLifecycle(array $args = array());

    Sample request

    <?php
    
    require dirname(__FILE__) . '/../vendor/autoload.php';
    
    $secretId = "SECRETID"; //Replace it with the actual SecretId, which can be viewed and managed at https://console.tencentcloud.com/cam/capi
    $secretKey = "SECRETKEY"; //Replace it with the actual SecretKey, which can be viewed and managed at https://console.tencentcloud.com/cam/capi
    $region = "ap-beijing"; //Replace it with the actual region, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket
    $cosClient = new Qcloud\\Cos\\Client(
    array(
    'region' => $region,
    'schema' => 'https', // Protocol header, which is http by default
    'credentials'=> array(
    'secretId' => $secretId ,
    'secretKey' => $secretKey)));
    
    try {
    $result = $cosClient->deleteBucketLifecycle(array(
    'Bucket' => 'examplebucket-1250000000' // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
    ));
    // Request succeeded
    print_r($result);
    } catch (\\Exception $e) {
    // Request failed
    echo($e);
    }

    Parameter description

    Parameter
    Type
    Description
    Required
    Bucket
    String
    Bucket for which the lifecycle configuration is deleted, in the format of BucketName-APPID
    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