github.com/aliyun/aliyun-oss-go-sdk@v3.0.2+incompatible/sample/bucket_website.go (about) 1 package sample 2 3 import ( 4 "fmt" 5 6 "github.com/aliyun/aliyun-oss-go-sdk/oss" 7 ) 8 9 // BucketWebsiteSample shows how to set, get and delete the bucket website. 10 func BucketWebsiteSample() { 11 // New client 12 client, err := oss.New(endpoint, accessID, accessKey) 13 if err != nil { 14 HandleError(err) 15 } 16 17 // Create the bucket with default parameters 18 err = client.CreateBucket(bucketName) 19 if err != nil { 20 HandleError(err) 21 } 22 23 //Define bucket website indexWebsite or errorWebsite 24 var indexWebsite = "myindex.html" 25 var errorWebsite = "myerror.html" 26 27 // Set bucket website indexWebsite or errorWebsite 28 err = client.SetBucketWebsite(bucketName, indexWebsite, errorWebsite) 29 if err != nil { 30 HandleError(err) 31 } 32 33 bEnable := true 34 bDisable := false 35 36 // Define one website detail 37 ruleOk := oss.RoutingRule{ 38 RuleNumber: 1, 39 Condition: oss.Condition{ 40 KeyPrefixEquals: "abc", 41 HTTPErrorCodeReturnedEquals: 404, 42 IncludeHeader: []oss.IncludeHeader{ 43 oss.IncludeHeader{ 44 Key: "host", 45 Equals: "test.oss-cn-beijing-internal.aliyuncs.com", 46 }, 47 }, 48 }, 49 Redirect: oss.Redirect{ 50 RedirectType: "Mirror", 51 PassQueryString: &bDisable, 52 MirrorURL: "http://www.test.com/", 53 MirrorPassQueryString: &bEnable, 54 MirrorFollowRedirect: &bEnable, 55 MirrorCheckMd5: &bDisable, 56 MirrorHeaders: oss.MirrorHeaders{ 57 PassAll: &bEnable, 58 Pass: []string{"key1", "key2"}, 59 Remove: []string{"remove1", "remove2"}, 60 Set: []oss.MirrorHeaderSet{ 61 oss.MirrorHeaderSet{ 62 Key: "setKey1", 63 Value: "setValue1", 64 }, 65 }, 66 }, 67 }, 68 } 69 wxmlDetail := oss.WebsiteXML{} 70 wxmlDetail.RoutingRules = append(wxmlDetail.RoutingRules, ruleOk) 71 72 // Get website 73 res, err := client.GetBucketWebsite(bucketName) 74 if err != nil { 75 HandleError(err) 76 } 77 fmt.Println("Website IndexDocument:", res.IndexDocument.Suffix) 78 79 // Set bucket website detail 80 err = client.SetBucketWebsiteDetail(bucketName, wxmlDetail) 81 if err != nil { 82 HandleError(err) 83 } 84 // Get website Detail 85 res, err = client.GetBucketWebsite(bucketName) 86 if err != nil { 87 HandleError(err) 88 } 89 fmt.Println("Website Redirect type:", res.RoutingRules[0].Redirect.RedirectType) 90 91 // Delete Website 92 err = client.DeleteBucketWebsite(bucketName) 93 if err != nil { 94 HandleError(err) 95 } 96 97 // Delete bucket 98 err = client.DeleteBucket(bucketName) 99 if err != nil { 100 HandleError(err) 101 } 102 103 fmt.Println("BucketWebsiteSample completed") 104 }