github.com/aliyun/aliyun-oss-go-sdk@v3.0.2+incompatible/sample/object_tagging.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 // ObjectTaggingSample shows how to set and get object Tagging 11 func ObjectTaggingSample() { 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("ObjectTaggingSample")) 20 if err != nil { 21 HandleError(err) 22 } 23 24 // Case 1: Set Tagging of object 25 tag1 := oss.Tag{ 26 Key: "key1", 27 Value: "value1", 28 } 29 tag2 := oss.Tag{ 30 Key: "key2", 31 Value: "value2", 32 } 33 tagging := oss.Tagging{ 34 Tags: []oss.Tag{tag1, tag2}, 35 } 36 err = bucket.PutObjectTagging(objectKey, tagging) 37 if err != nil { 38 HandleError(err) 39 } 40 41 // Case 2: Get Tagging of object 42 taggingResult, err := bucket.GetObjectTagging(objectKey) 43 if err != nil { 44 HandleError(err) 45 } 46 fmt.Printf("Object Tagging: %v\n", taggingResult) 47 48 tag3 := oss.Tag{ 49 Key: "key3", 50 Value: "value3", 51 } 52 53 // Case 3: Put object with tagging 54 tagging = oss.Tagging{ 55 Tags: []oss.Tag{tag1, tag2, tag3}, 56 } 57 err = bucket.PutObject(objectKey, strings.NewReader("ObjectTaggingSample"), oss.SetTagging(tagging)) 58 if err != nil { 59 HandleError(err) 60 } 61 62 // Case 4: Delete Tagging of object 63 err = bucket.DeleteObjectTagging(objectKey) 64 if err != nil { 65 HandleError(err) 66 } 67 68 // Delete object and bucket 69 err = DeleteTestBucketAndObject(bucketName) 70 if err != nil { 71 HandleError(err) 72 } 73 74 fmt.Println("ObjectACLSample completed") 75 }