github.com/aliyun/aliyun-oss-go-sdk@v3.0.2+incompatible/sample/object_acl.go (about) 1 package sample 2 3 import ( 4 "fmt" 5 "strings" 6 7 "github.com/aliyun/aliyun-oss-go-sdk/oss" 8 ) 9 10 // ObjectACLSample shows how to set and get object ACL 11 func ObjectACLSample() { 12 // Create bucket 13 bucket, err := GetTestBucket(bucketName) 14 if err != nil { 15 HandleError(err) 16 } 17 18 // Create object 19 err = bucket.PutObject(objectKey, strings.NewReader("YoursObjectValue")) 20 if err != nil { 21 HandleError(err) 22 } 23 24 // Case 1: Set bucket ACL, valid ACLs are ACLPrivate、ACLPublicRead、ACLPublicReadWrite 25 err = bucket.SetObjectACL(objectKey, oss.ACLPrivate) 26 if err != nil { 27 HandleError(err) 28 } 29 30 // Get object ACL, returns one of the three values: private、public-read、public-read-write 31 goar, err := bucket.GetObjectACL(objectKey) 32 if err != nil { 33 HandleError(err) 34 } 35 fmt.Println("Object ACL:", goar.ACL) 36 37 // Delete object and bucket 38 err = DeleteTestBucketAndObject(bucketName) 39 if err != nil { 40 HandleError(err) 41 } 42 43 fmt.Println("ObjectACLSample completed") 44 }