OSDN Git Service

Create ossClient.go (#574)
[bytom/vapor.git] / vendor / github.com / aliyun / aliyun-oss-go-sdk / sample / cname_sample.go
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/cname_sample.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/cname_sample.go
new file mode 100644 (file)
index 0000000..5e0b503
--- /dev/null
@@ -0,0 +1,95 @@
+package sample
+
+import (
+       "fmt"
+       "io/ioutil"
+       "strings"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// CnameSample shows the cname usage
+func CnameSample() {
+       // New client
+       client, err := oss.New(endpoint4Cname, accessID, accessKey, oss.UseCname(true))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create bucket
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Set bucket ACL
+       err = client.SetBucketACL(bucketName, oss.ACLPrivate)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Look up bucket ACL
+       gbar, err := client.GetBucketACL(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Bucket ACL:", gbar.ACL)
+
+       // List buckets, the list operation could not be done by cname's endpoint
+       _, err = client.ListBuckets()
+       if err == nil {
+               HandleError(err)
+       }
+
+       bucket, err := client.Bucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       objectValue := "长忆观潮, 满郭人争江上望。来疑沧海尽成空, 万面鼓声中。弄潮儿向涛头立, 手把红旗旗不湿。别来几向梦中看, 梦觉尚心寒。"
+
+       // Put object
+       err = bucket.PutObject(objectKey, strings.NewReader(objectValue))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get object
+       body, err := bucket.GetObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       data, err := ioutil.ReadAll(body)
+       body.Close()
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println(objectKey, ":", string(data))
+
+       // Put object from file
+       err = bucket.PutObjectFromFile(objectKey, localFile)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get object to file
+       err = bucket.GetObjectToFile(objectKey, localFile)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // List objects
+       lor, err := bucket.ListObjects()
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("objects:", lor.Objects)
+
+       // Delete object
+       err = bucket.DeleteObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("CnameSample completed")
+}