Bucket Operations

Last updated: 2020-08-18 10:55:23

    Overview

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

    API Operation Name 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 specified account

    SDK API Reference

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

    Querying a Bucket List

    Feature description

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

    Sample code

    GetServiceRequest getServiceRequest = new GetServiceRequest();
    cosXmlService.getServiceAsync(getServiceRequest, new CosXmlResultListener() {
        @Override
        public void onSuccess(CosXmlRequest request, CosXmlResult result) {
            GetServiceResult getServiceResult = (GetServiceResult) result;
        }
    
        @Override
        public void onFail(CosXmlRequest cosXmlRequest,
                           CosXmlClientException clientException,
                           CosXmlServiceException serviceException) {
            if (clientException != null) {
                clientException.printStackTrace();
            } else {
                serviceException.printStackTrace();
            }
        }
    });

    Note:

    For more samples, please visit GitHub.

    Creating a Bucket

    Feature description

    This API is used to create a bucket.

    Sample code

    String bucket = "examplebucket-1250000000";
    PutBucketRequest putBucketRequest = new PutBucketRequest(bucket);
    cosXmlService.putBucketAsync(putBucketRequest, new CosXmlResultListener() {
        @Override
        public void onSuccess(CosXmlRequest request, CosXmlResult result) {
            PutBucketResult putBucketResult = (PutBucketResult) result;
        }
    
        @Override
        public void onFail(CosXmlRequest cosXmlRequest,
                           CosXmlClientException clientException,
                           CosXmlServiceException serviceException) {
            if (clientException != null) {
                clientException.printStackTrace();
            } else {
                serviceException.printStackTrace();
            }
        }
    });

    Note:

    For more samples, please visit GitHub.

    Checking a Bucket and Its Permissions

    Feature 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

    String bucket = "examplebucket-1250000000"; // Format: BucketName-APPID
    HeadBucketRequest headBucketRequest = new HeadBucketRequest(bucket);
    cosXmlService.headBucketAsync(headBucketRequest, new CosXmlResultListener() {
        @Override
        public void onSuccess(CosXmlRequest request, CosXmlResult result) {
            HeadBucketResult headBucketResult = (HeadBucketResult) result;
        }
    
        @Override
        public void onFail(CosXmlRequest cosXmlRequest,
                           CosXmlClientException clientException,
                           CosXmlServiceException serviceException) {
            if (clientException != null) {
                clientException.printStackTrace();
            } else {
                serviceException.printStackTrace();
            }
        }
    });

    Note:

    For more samples, please visit 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

    String bucket = "examplebucket-1250000000"; // Format: BucketName-APPID
    DeleteBucketRequest deleteBucketRequest = new DeleteBucketRequest(bucket);
    cosXmlService.deleteBucketAsync(deleteBucketRequest,
            new CosXmlResultListener() {
        @Override
        public void onSuccess(CosXmlRequest request, CosXmlResult result) {
            DeleteBucketResult deleteBucketResult = (DeleteBucketResult) result;
        }
    
        @Override
        public void onFail(CosXmlRequest cosXmlRequest,
                           CosXmlClientException clientException,
                           CosXmlServiceException serviceException) {
            if (clientException != null) {
                clientException.printStackTrace();
            } else {
                serviceException.printStackTrace();
            }
        }
    });

    Note:

    For more samples, please visit GitHub.

    Was this page helpful?

    Was this page helpful?

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