Bucket Operations

Last updated: 2020-09-09 11:34:23

    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 Creating a bucket Creates bucket under a specified account
    HEAD Bucket Checking a bucket and its permissions Checks whether a bucket exists and you have permission to access it
    DELETE Bucket Deleting a bucket Deletes an empty bucket under a specified account

    SDK API Reference

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

    Querying a Bucket List

    API description

    This API is used to query the list of all buckets under a specified account.

    Sample code

    Objective-C

    // Specify the request method for a list of all buckets under an account
    QCloudGetServiceRequest* request = [[QCloudGetServiceRequest alloc] init];
    [request setFinishBlock:^(QCloudListAllMyBucketsResult* result,
                              NSError* error) {
    
        // “result” returns a list of buckets
        NSArray<QCloudBucket*> *buckets = result.buckets;
    
        // Bucket owner
        QCloudOwner *owner = result.owner;
    }];
    [[QCloudCOSXMLService defaultCOSXML] GetService:request];

    Note:

    For the complete sample, go to GitHub.

    Swift

    // Specify the request method for a list of all buckets 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

    API Description

    This API is used to create a bucket.

    Sample code

    Objective-C

    // Create a bucket
    QCloudPutBucketRequest* request = [QCloudPutBucketRequest new];
    
    // Bucket name in the format: `BucketName-APPID`
    request.bucket = @"examplebucket-1250000000";
    
    [request setFinishBlock:^(id outputObject, NSError* error) {
        // “outputObject” obtains headers returned by the browser
        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: `BucketName-APPID`
    putBucketReq.bucket = "examplebucket-1250000000";
    putBucketReq.finishBlock = {(result,error) in
        // “result” obtains headers returned by the browser
        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

    API Description

    This API is used to check whether a bucket exists and whether you have the permission to access it. Possible scenarios are outlined below:

    • 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: `BucketName-APPID`
    request.bucket = @"examplebucket-1250000000";
    
    [request setFinishBlock:^(id outputObject, NSError* error) {
        // “outputObject” obtains headers returned by the browser
        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: `BucketName-APPID`
    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.

    Deleting a Bucket

    API 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 cleared; otherwise, the bucket cannot be deleted.

    Sample code

    Objective-C

    QCloudDeleteBucketRequest* request = [[QCloudDeleteBucketRequest alloc ] init];
    
    // Bucket name in the format: `BucketName-APPID`
    request.bucket = @"examplebucket-1250000000";
    
    [request setFinishBlock:^(id outputObject,NSError*error) {
        // “outputObject” obtains headers returned by the browser
        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: `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.

    Was this page helpful?

    Was this page helpful?

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