6 "github.com/aliyun/aliyun-oss-go-sdk/oss"
9 // BucketWebsiteSample shows how to set, get and delete the bucket website.
10 func BucketWebsiteSample() {
12 client, err := oss.New(endpoint, accessID, accessKey)
17 // Create the bucket with default parameters
18 err = client.CreateBucket(bucketName)
23 //Define bucket website indexWebsite or errorWebsite
24 var indexWebsite = "myindex.html"
25 var errorWebsite = "myerror.html"
27 // Set bucket website indexWebsite or errorWebsite
28 err = client.SetBucketWebsite(bucketName, indexWebsite, errorWebsite)
36 // Define one website detail
37 ruleOk := oss.RoutingRule{
39 Condition: oss.Condition{
40 KeyPrefixEquals: "abc",
41 HTTPErrorCodeReturnedEquals: 404,
42 IncludeHeader: []oss.IncludeHeader{
45 Equals: "test.oss-cn-beijing-internal.aliyuncs.com",
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{
58 Pass: []string{"key1", "key2"},
59 Remove: []string{"remove1", "remove2"},
60 Set: []oss.MirrorHeaderSet{
69 wxmlDetail := oss.WebsiteXML{}
70 wxmlDetail.RoutingRules = append(wxmlDetail.RoutingRules, ruleOk)
73 res, err := client.GetBucketWebsite(bucketName)
77 fmt.Println("Website IndexDocument:", res.IndexDocument.Suffix)
79 // Set bucket website detail
80 err = client.SetBucketWebsiteDetail(bucketName, wxmlDetail)
85 res, err = client.GetBucketWebsite(bucketName)
89 fmt.Println("Website Redirect type:", res.RoutingRules[0].Redirect.RedirectType)
92 err = client.DeleteBucketWebsite(bucketName)
98 err = client.DeleteBucket(bucketName)
103 fmt.Println("BucketWebsiteSample completed")