OSDN Git Service

Create ossClient.go (#574)
[bytom/vapor.git] / vendor / github.com / aliyun / aliyun-oss-go-sdk / sample / list_buckets.go
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 }