bucket_qosInfo.go 1.5 KB

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