Bucket Operations

Last updated: 2021-02-01 09:43:43

    Overview

    This document provides an overview of APIs and SDK code samples related to basic bucket operations.

    API Operation Description
    GET Service (List Buckets) Querying a bucket list Queries the list of all buckets under a specified account
    PUT Bucket Creates a bucket Creates a bucket under the specified account
    HEAD Bucket Checking a bucket and its permissions Checks whether a bucket exists and whether you have permission to access it
    DELETE Bucket Deleting a bucket Deletes an empty bucket from a specified account

    Querying Bucket List

    Feature description

    This API (GET Service) is used to query the list of all buckets under a requester's account or in a specified region. For more information, please see GET Service.

    Samples

    Sample 1. Listing all buckets

    cos.getService(function(err, data) {
        console.log(err || data);
    });

    Sample 2. Listing all buckets in a specified region

    cos.getService({
        Region: 'COS_REGION',
    }, function(err, data) {
        console.log(err || data);
    });

    Parameter description

    Parameter Description Type Required
    Region Bucket region. For the enumerated values, please see Regions and Access Endpoints String No

    Callback function description

    function(err, data) { ... }
    Parameter Description Type
    err Object returned when an error (network error or service error) occurs. If the request is successful, this parameter is left empty. For more information, please see Error Codes. Object
    - statusCode HTTP status code returned by the request, such as "200", "403", and "404" Number
    - headers Headers returned by the request Object
    data Object returned when the request is successful. If the request fails, this parameter is left empty. Object
    - statusCode HTTP status code returned by the request, such as "200", "403", and "404" Number
    - headers Headers returned by the request Object
    - Owner Object representing the bucket owner Object
    - - ID Complete ID of the bucket owner in the format: qcs::cam::uin/[OwnerUin]:uin/[OwnerUin], such as qcs::cam::uin/100000000001:uin/100000000001 string
    - - DisplayName Name of the bucket owner String
    - Buckets Bucket list Object
    - - Name ListBucketResult Bucket name in the format: <BucketName-APPID>, such as examplebucket-1250000000
    - - Location Bucket region. For the enumerated values, such as ap-guangzhou, ap-beijing, and ap-hongkong, please see Regions and Access Endpoints. String
    - - CreationDate Time when the bucket was created, in ISO 8601 format, such as 2019-05-24T10:56:40Z string

    Creating a Bucket

    Feature description

    This API (PUT Bucket) is used to create a bucket under a specified account.

    Use case

    cos.putBucket({
        Bucket: 'examplebucket-1250000000',
        Region: 'COS_REGION'
    }, function(err, data) {
        console.log(err || data);
    });

    Parameter description

    Parameter Description Type Required
    Bucket Bucket name in the format: BucketName-APPID String Yes
    Region Bucket region. For the enumerated values, please see Regions and Access Endpoints. String Yes
    ACL Defines the access control list (ACL) attribute of the bucket. For the enumerated values, such as private and public-read, please see the Preset ACL section in ACL Overview. Default value: private Enum No
    GrantRead Grants a user read permission in the format: id=" ",id=" ".
    To authorize a sub-account, use id="qcs::cam::uin/<OwnerUin>:uin/<SubUin>".
    To authorize a root account, use id="qcs::cam::uin/<OwnerUin>:uin/<OwnerUin>".
    Examples: 'id="qcs::cam::uin/100000000001:uin/100000000001", id="qcs::cam::uin/100000000001:uin/100000000011"'
    String No
    GrantWrite Grants a user write permission in the format: id=" ",id=" ".
    To authorize a sub-account, use id="qcs::cam::uin/<OwnerUin>:uin/<SubUin>".
    To authorize a root account, use id="qcs::cam::uin/<OwnerUin>:uin/<OwnerUin>".
    Examples: 'id="qcs::cam::uin/100000000001:uin/100000000001", id="qcs::cam::uin/100000000001:uin/100000000011"'
    String No
    GrantReadAcp Grants a user read permission for a bucket’s ACL and policies in the format: id=" ",id=" ".
    To authorize a sub-account, use id="qcs::cam::uin/<OwnerUin>:uin/<SubUin>".
    To authorize a root account, use id="qcs::cam::uin/<OwnerUin>:uin/<OwnerUin>".
    Examples: 'id="qcs::cam::uin/100000000001:uin/100000000001", id="qcs::cam::uin/100000000001:uin/100000000011"'
    String No
    GrantWriteAcp Grants a user write permission for a bucket’s ACL and policies in the format: id=" ",id=" ".
    To authorize a sub-account, use id="qcs::cam::uin/<OwnerUin>:uin/<SubUin>".
    To authorize a root account, use id="qcs::cam::uin/<OwnerUin>:uin/<OwnerUin>".
    Examples: 'id="qcs::cam::uin/100000000001:uin/100000000001", id="qcs::cam::uin/100000000001:uin/100000000011"'
    String No
    GrantFullControl Grants full permission in the format: id=" ",id=" ".
    You can use a comma (,) to separate multiple users. To authorize a sub-account, use id="qcs::cam::uin/<OwnerUin>:uin/<SubUin>".
    To authorize a root account, use id="qcs::cam::uin/<OwnerUin>:uin/<OwnerUin>".
    Examples: 'id="qcs::cam::uin/100000000001:uin/100000000001", id="qcs::cam::uin/100000000001:uin/100000000011"'
    String No

    Callback function description

    function(err, data) { ... }
    Parameter Description Type
    err Object returned when an error (network error or service error) occurs. If the request is successful, this parameter is left empty. For more information, please see Error Codes. Object
    - statusCode HTTP status code returned by the request, such as "200", "403", and "404" Number
    - headers Headers returned by the request Object
    data Object returned when the request is successful. If the request fails, this parameter is left empty. Object
    - statusCode HTTP status code returned by the request, such as "200", "403", and "404" Number
    - headers Headers returned by the request Object

    Checking a Bucket and Its Permissions

    Feature description

    This API (HEAD Bucket) is used to verify whether a bucket exists and whether you have permission to access it.

    • If the bucket exists and you have permission to read it, the HTTP status code "200" will be returned.
    • If you do not have permission to read the bucket, the HTTP status code "403" will be returned.
    • If the bucket does not exist, the HTTP status code "404" will be returned.

    Use case

    cos.headBucket({
        Bucket: 'examplebucket-1250000000', /*Required*/
        Region: 'COS_REGION', /* Required */
    }, function(err, data) {
        console.log(err || data);
    });

    Parameter description

    Parameter Name Description Type Required
    Bucket Bucket name in the format: BucketName-APPID String Yes
    Region Bucket region. For the enumerated values, please see Regions and Access Endpoints. String Yes

    Callback function description

    function(err, data) { ... }
    Parameter Description Type
    err Object returned when an error (network error or service error) occurs. If the request is successful, this parameter is left empty. For more information, please see Error Codes. Object
    - statusCode HTTP status code returned by the request, such as "200", "403", and "404" Number
    - headers Headers returned by the request Object
    data Object returned when the request is successful. If the request fails, this parameter is left empty. Object
    - statusCode HTTP status code returned by the request, such as "200", "403", and "404" Number
    - headers Headers returned by the request Object

    Deleting a Bucket

    Feature description

    This API (DELETE Bucket) is used to delete an empty bucket under a specified account. Note that if the deletion is successful, the HTTP status code "200" or "204" will be returned.

    Note:

    Before deleting a bucket, please make sure that all the data and incomplete multipart uploads in the bucket have been cleared; otherwise, the bucket cannot be deleted.

    Use case

    cos.deleteBucket({
        Bucket: 'examplebucket-1250000000',                               /* Required */
        Region: 'COS_REGION', /*Required*/
    }, function(err, data) {
        console.log(err || data);
    });

    Parameter description

    Parameter Description Type Required
    Bucket Bucket name in the format: BucketName-APPID String Yes
    Region Bucket region. For the enumerated values, please see Regions and Access Endpoints. String Yes

    Callback function description

    function(err, data) { ... }
    
    Parameter Description Type
    err Object returned when an error (network error or service error) occurs. If the request is successful, this parameter is left empty. For more information, please see Error Codes. Object
    - statusCode HTTP status code returned by the request, such as "200", "403", and "404" Number
    - headers Headers returned by the request Object
    data Object returned when the request is successful. If the request fails, this parameter is left empty. Object
    - statusCode HTTP status code returned by the request, such as "200", "403", and "404" Number
    - headers Headers returned by the request Object

    Was this page helpful?

    Was this page helpful?

    • Not at all
    • Not very helpful
    • Somewhat helpful
    • Very helpful
    • Extremely helpful
    Send Feedback
    Help