github.com/aliyun/aliyun-oss-go-sdk@v3.0.2+incompatible/sample/cname_sample.go (about) 1 package sample 2 3 import ( 4 "fmt" 5 "io/ioutil" 6 "strings" 7 8 "github.com/aliyun/aliyun-oss-go-sdk/oss" 9 ) 10 11 // CnameSample shows the cname usage 12 func CnameSample() { 13 // New client 14 client, err := oss.New(endpoint4Cname, accessID, accessKey, oss.UseCname(true)) 15 if err != nil { 16 HandleError(err) 17 } 18 19 // Create bucket 20 err = client.CreateBucket(bucketName) 21 if err != nil { 22 HandleError(err) 23 } 24 25 // Set bucket ACL 26 err = client.SetBucketACL(bucketName, oss.ACLPrivate) 27 if err != nil { 28 HandleError(err) 29 } 30 31 // Look up bucket ACL 32 gbar, err := client.GetBucketACL(bucketName) 33 if err != nil { 34 HandleError(err) 35 } 36 fmt.Println("Bucket ACL:", gbar.ACL) 37 38 // List buckets, the list operation could not be done by cname's endpoint 39 _, err = client.ListBuckets() 40 if err == nil { 41 HandleError(err) 42 } 43 44 bucket, err := client.Bucket(bucketName) 45 if err != nil { 46 HandleError(err) 47 } 48 49 objectValue := "长忆观潮, 满郭人争江上望。来疑沧海尽成空, 万面鼓声中。弄潮儿向涛头立, 手把红旗旗不湿。别来几向梦中看, 梦觉尚心寒。" 50 51 // Put object 52 err = bucket.PutObject(objectKey, strings.NewReader(objectValue)) 53 if err != nil { 54 HandleError(err) 55 } 56 57 // Get object 58 body, err := bucket.GetObject(objectKey) 59 if err != nil { 60 HandleError(err) 61 } 62 data, err := ioutil.ReadAll(body) 63 body.Close() 64 if err != nil { 65 HandleError(err) 66 } 67 fmt.Println(objectKey, ":", string(data)) 68 69 // Put object from file 70 err = bucket.PutObjectFromFile(objectKey, localFile) 71 if err != nil { 72 HandleError(err) 73 } 74 75 // Get object to file 76 err = bucket.GetObjectToFile(objectKey, localFile) 77 if err != nil { 78 HandleError(err) 79 } 80 81 // List objects 82 lor, err := bucket.ListObjects() 83 if err != nil { 84 HandleError(err) 85 } 86 fmt.Println("objects:", lor.Objects) 87 88 // Delete object 89 err = bucket.DeleteObject(objectKey) 90 if err != nil { 91 HandleError(err) 92 } 93 94 fmt.Println("CnameSample completed") 95 }