github.com/aliyun/aliyun-oss-go-sdk@v3.0.2+incompatible/sample/list_buckets.go (about) 1 package sample 2 3 import ( 4 "fmt" 5 6 "github.com/aliyun/aliyun-oss-go-sdk/oss" 7 ) 8 9 // ListBucketsSample shows the list bucket, including default and specified parameters. 10 func ListBucketsSample() { 11 var myBuckets = []string{ 12 "my-bucket-1", 13 "my-bucket-11", 14 "my-bucket-2", 15 "my-bucket-21", 16 "my-bucket-22", 17 "my-bucket-3", 18 "my-bucket-31", 19 "my-bucket-32"} 20 21 // New client 22 client, err := oss.New(endpoint, accessID, accessKey) 23 if err != nil { 24 HandleError(err) 25 } 26 27 // Remove other bucket 28 lbr, err := client.ListBuckets() 29 if err != nil { 30 HandleError(err) 31 } 32 33 for _, bucket := range lbr.Buckets { 34 err = client.DeleteBucket(bucket.Name) 35 if err != nil { 36 //HandleError(err) 37 } 38 } 39 40 // Create bucket 41 for _, bucketName := range myBuckets { 42 err = client.CreateBucket(bucketName) 43 if err != nil { 44 HandleError(err) 45 } 46 } 47 48 // Case 1: Use default parameter 49 lbr, err = client.ListBuckets() 50 if err != nil { 51 HandleError(err) 52 } 53 fmt.Println("my buckets:", lbr.Buckets) 54 55 // Case 2: Specify the max keys : 3 56 lbr, err = client.ListBuckets(oss.MaxKeys(3)) 57 if err != nil { 58 HandleError(err) 59 } 60 fmt.Println("my buckets max num:", lbr.Buckets) 61 62 // Case 3: Specify the prefix of buckets. 63 lbr, err = client.ListBuckets(oss.Prefix("my-bucket-2")) 64 if err != nil { 65 HandleError(err) 66 } 67 fmt.Println("my buckets prefix :", lbr.Buckets) 68 69 // Case 4: Specify the marker to return from a certain one 70 lbr, err = client.ListBuckets(oss.Marker("my-bucket-22")) 71 if err != nil { 72 HandleError(err) 73 } 74 fmt.Println("my buckets marker :", lbr.Buckets) 75 76 // Case 5: Specify max key and list all buckets with paging, return 3 items each time. 77 marker := oss.Marker("") 78 for { 79 lbr, err = client.ListBuckets(oss.MaxKeys(3), marker) 80 if err != nil { 81 HandleError(err) 82 } 83 marker = oss.Marker(lbr.NextMarker) 84 fmt.Println("my buckets page :", lbr.Buckets) 85 if !lbr.IsTruncated { 86 break 87 } 88 } 89 90 // Case 6: List bucket with marker and max key; return 3 items each time. 91 marker = oss.Marker("my-bucket-22") 92 for { 93 lbr, err = client.ListBuckets(oss.MaxKeys(3), marker) 94 if err != nil { 95 HandleError(err) 96 } 97 marker = oss.Marker(lbr.NextMarker) 98 fmt.Println("my buckets marker&page :", lbr.Buckets) 99 if !lbr.IsTruncated { 100 break 101 } 102 } 103 104 // Case 7: List bucket with prefix and max key, return 3 items each time. 105 pre := oss.Prefix("my-bucket-2") 106 marker = oss.Marker("") 107 for { 108 lbr, err = client.ListBuckets(oss.MaxKeys(3), pre, marker) 109 if err != nil { 110 HandleError(err) 111 } 112 pre = oss.Prefix(lbr.Prefix) 113 marker = oss.Marker(lbr.NextMarker) 114 fmt.Println("my buckets prefix&page :", lbr.Buckets) 115 if !lbr.IsTruncated { 116 break 117 } 118 } 119 120 // Delete bucket 121 for _, bucketName := range myBuckets { 122 err = client.DeleteBucket(bucketName) 123 if err != nil { 124 HandleError(err) 125 } 126 } 127 128 fmt.Println("ListsBucketSample completed") 129 }