github.com/aliyun/aliyun-oss-go-sdk@v3.0.2+incompatible/sample/create_bucket.go (about)

     1  package sample
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/aliyun/aliyun-oss-go-sdk/oss"
     7  )
     8  
     9  // CreateBucketSample shows how to create bucket
    10  func CreateBucketSample() {
    11  	// New client
    12  	client, err := oss.New(endpoint, accessID, accessKey)
    13  	if err != nil {
    14  		HandleError(err)
    15  	}
    16  
    17  	DeleteTestBucketAndObject(bucketName)
    18  
    19  	// Case 1: Create a bucket with default parameters
    20  	err = client.CreateBucket(bucketName)
    21  	if err != nil {
    22  		HandleError(err)
    23  	}
    24  
    25  	// Delete bucket
    26  	err = client.DeleteBucket(bucketName)
    27  	if err != nil {
    28  		HandleError(err)
    29  	}
    30  
    31  	// Case 2: Create the bucket with ACL
    32  	err = client.CreateBucket(bucketName, oss.ACL(oss.ACLPublicRead))
    33  	if err != nil {
    34  		HandleError(err)
    35  	}
    36  
    37  	// Case 3: Repeat the same bucket. OSS will not return error, but just no op. The ACL is not updated.
    38  	err = client.CreateBucket(bucketName, oss.ACL(oss.ACLPublicReadWrite))
    39  	if err != nil {
    40  		HandleError(err)
    41  	}
    42  
    43  	// Delete bucket
    44  	err = client.DeleteBucket(bucketName)
    45  	if err != nil {
    46  		HandleError(err)
    47  	}
    48  
    49  	fmt.Println("CreateBucketSample completed")
    50  }