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 }