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

     1  package sample
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/aliyun/aliyun-oss-go-sdk/oss"
     7  )
     8  
     9  // BucketQoSInfoSample shows how to set, get and delete the bucket QoS configuration
    10  func BucketQoSInfoSample() {
    11  	// New client
    12  	client, err := oss.New(endpoint, accessID, accessKey)
    13  	if err != nil {
    14  		HandleError(err)
    15  	}
    16  
    17  	// Create the bucket with default parameters
    18  	err = client.CreateBucket(bucketName)
    19  	if err != nil {
    20  		HandleError(err)
    21  	}
    22  	// Initial QoS Configuration
    23  	five := 5
    24  	four := 4
    25  	totalQps := 200
    26  	qosConf := oss.BucketQoSConfiguration{
    27  		TotalUploadBandwidth:      &five,
    28  		IntranetUploadBandwidth:   &four,
    29  		ExtranetUploadBandwidth:   &four,
    30  		TotalDownloadBandwidth:    &four,
    31  		IntranetDownloadBandwidth: &four,
    32  		ExtranetDownloadBandwidth: &four,
    33  		TotalQPS:                  &totalQps,
    34  		IntranetQPS:               &totalQps,
    35  		ExtranetQPS:               &totalQps,
    36  	}
    37  
    38  	// Set Qos Info
    39  	err = client.SetBucketQoSInfo(bucketName, qosConf)
    40  	if err != nil {
    41  		HandleError(err)
    42  	}
    43  
    44  	// Get Qos Info
    45  	ret, err := client.GetBucketQosInfo(bucketName)
    46  	if err != nil {
    47  		HandleError(err)
    48  	}
    49  	fmt.Printf("Bucket QoSInfo\n  TotalUploadBandwidth: %d\n  IntranetUploadBandwidth: %d\n  ExtranetUploadBandwidth: %d\n",
    50  		*ret.TotalUploadBandwidth, *ret.IntranetUploadBandwidth, *ret.ExtranetUploadBandwidth)
    51  
    52  	// Delete QosInfo
    53  	err = client.DeleteBucketQosInfo(bucketName)
    54  	if err != nil {
    55  		HandleError(err)
    56  	}
    57  
    58  	// Delete bucket
    59  	err = client.DeleteBucket(bucketName)
    60  	if err != nil {
    61  		HandleError(err)
    62  	}
    63  
    64  	fmt.Println("BucketPolicySample completed")
    65  }