tencent cloud

Feedback

Bucket Operations

Last updated: 2022-05-25 15:22:40

    Overview

    This document provides an overview of APIs and SDK code samples for 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 Creating a bucket Creates a bucket under a 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

    SDK API References

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

    Querying a Bucket List

    Feature description

    This API (GET Service (List Buckets)) is used to query the list of all buckets under a specified account.

    Sample code

    Objective-C

    // Method for getting the list of all storage spaces under an account
    QCloudGetServiceRequest* request = [[QCloudGetServiceRequest alloc] init];
    [request setFinishBlock:^(QCloudListAllMyBucketsResult* result,
                             NSError* error) {
       
       //Get the returned information from result
       NSArray<QCloudBucket*> *buckets = result.buckets;
       
       // Bucket owner
       QCloudOwner *owner = result.owner;
    }];
    [[QCloudCOSXMLService defaultCOSXML] GetService:request];
    
    Note:

    For the complete sample, go to GitHub.

    Swift

    // Method for getting the list of all storage spaces under an account
    let getServiceReq = QCloudGetServiceRequest.init();
    getServiceReq.setFinish{(result,error) in
       if let result = result {
           let buckets = result.buckets
           let owner = result.owner
       } else {
           print(error!);
       }
    }
    QCloudCOSXMLService.defaultCOSXML().getService(getServiceReq);
    
    Note:

    For the complete sample, go to GitHub.

    Creating a Bucket

    Feature description

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

    Sample code

    Objective-C

    // Create a bucket
    QCloudPutBucketRequest* request = [QCloudPutBucketRequest 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:^(id outputObject, NSError* error) {
       // You can get the header information returned by the server from outputObject
       NSDictionary* info = (NSDictionary *) outputObject;
    }];
    [[QCloudCOSXMLService defaultCOSXML] PutBucket:request];
    
    Note:

    For the complete sample, go to GitHub.

    Swift

    // Create a bucket
    let putBucketReq = QCloudPutBucketRequest.init();
    // Bucket name in the format of BucketName-APPID, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.
    putBucketReq.bucket = "examplebucket-1250000000";
    putBucketReq.finishBlock = {(result,error) in
       // You can get the header information returned by the server from result
       if error != nil {
           print(error!);
       } else {
           print(result!);
       }
    }
    QCloudCOSXMLService.defaultCOSXML().putBucket(putBucketReq);
    
    Note:

    For the complete sample, go to GitHub.

    Checking a Bucket and Its Permissions

    Feature description

    This API is used to check whether a bucket exists and whether you have permission to access it.

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

    Sample code

    Objective-C

    QCloudHeadBucketRequest* request = [QCloudHeadBucketRequest 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:^(id outputObject, NSError* error) {
       // You can get the header information returned by the server from outputObject
       NSDictionary * result = (NSDictionary *)outputObject;
    }];
    [[QCloudCOSXMLService defaultCOSXML] HeadBucket:request];
    
    Note:

    For the complete sample, go to GitHub.

    Swift

    let headBucketReq = QCloudHeadBucketRequest.init();
    // Bucket name in the format of BucketName-APPID, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.
    headBucketReq.bucket = "examplebucket-1250000000";
    headBucketReq.finishBlock = {(result,error) in
       if let result = result {
           // result contains response headers
       } else {
           print(error!);
       }
    }
    QCloudCOSXMLService.defaultCOSXML().headBucket(headBucketReq);
    
    Note:

    For the complete sample, go to GitHub.

    Checking whether a bucket exists

    Feature description

    You can check whether a bucket exists by using the shortcut API provided by the SDK.

    Sample code

    Objective-C

     // Bucket name in the format of BucketName-APPID
     [[QCloudCOSXMLService defaultCOSXML] doesBucketExist: @"examplebucket-1250000000"];
    
    Note:

    For the complete sample, go to GitHub.

    Swift

        // Bucket name in the format of BucketName-APPID
      QCloudCOSXMLService.defaultCOSXML().doesBucketExist("examplebucket-1250000000");
    
    Note:

    For the complete sample, go to GitHub.

    Deleting a Bucket

    Feature description

    This API is used to delete a specified bucket.

    Note:

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

    Sample code

    Objective-C

    QCloudDeleteBucketRequest* request = [[QCloudDeleteBucketRequest alloc ] init];
    // Bucket name in the format of BucketName-APPID
    request.bucket = @"examplebucket-1250000000";
    [request setFinishBlock:^(id outputObject,NSError*error) {
       // You can get the header information returned by the server from outputObject
       NSDictionary* info = (NSDictionary *) outputObject;
    }];
    [[QCloudCOSXMLService defaultCOSXML] DeleteBucket:request];
    
    Note:

    For the complete sample, go to GitHub.

    Swift

    let deleteBucketReq = QCloudDeleteBucketRequest.init();
    // Bucket name in the format of BucketName-APPID
    deleteBucketReq.bucket = "examplebucket-1250000000";
    deleteBucketReq.finishBlock = {(result,error) in
       if let result = result {
           // result contains response headers
       } else {
           print(error!);
       }
    }
    QCloudCOSXMLService.defaultCOSXML().deleteBucket(deleteBucketReq);
    
    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