1 Star 0 Fork 0

Alibaba Cloud/aliyun-oss-go-sdk

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
bucket_website.go 2.41 KB
一键复制 编辑 原始数据 按行查看 历史
alzhang 提交于 2019-06-12 10:41 +08:00 . add SetBucketWebsiteDetail api && BucketPolicy api
package sample
import (
"fmt"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
// BucketWebsiteSample shows how to set, get and delete the bucket website.
func BucketWebsiteSample() {
// New client
client, err := oss.New(endpoint, accessID, accessKey)
if err != nil {
HandleError(err)
}
// Create the bucket with default parameters
err = client.CreateBucket(bucketName)
if err != nil {
HandleError(err)
}
//Define bucket website indexWebsite or errorWebsite
var indexWebsite = "myindex.html"
var errorWebsite = "myerror.html"
// Set bucket website indexWebsite or errorWebsite
err = client.SetBucketWebsite(bucketName, indexWebsite, errorWebsite)
if err != nil {
HandleError(err)
}
bEnable := true
bDisable := false
// Define one website detail
ruleOk := oss.RoutingRule{
RuleNumber: 1,
Condition: oss.Condition{
KeyPrefixEquals: "abc",
HTTPErrorCodeReturnedEquals: 404,
IncludeHeader: []oss.IncludeHeader{
oss.IncludeHeader{
Key: "host",
Equals: "test.oss-cn-beijing-internal.aliyuncs.com",
},
},
},
Redirect: oss.Redirect{
RedirectType: "Mirror",
PassQueryString: &bDisable,
MirrorURL: "http://www.test.com/",
MirrorPassQueryString: &bEnable,
MirrorFollowRedirect: &bEnable,
MirrorCheckMd5: &bDisable,
MirrorHeaders: oss.MirrorHeaders{
PassAll: &bEnable,
Pass: []string{"key1", "key2"},
Remove: []string{"remove1", "remove2"},
Set: []oss.MirrorHeaderSet{
oss.MirrorHeaderSet{
Key: "setKey1",
Value: "setValue1",
},
},
},
},
}
wxmlDetail := oss.WebsiteXML{}
wxmlDetail.RoutingRules = append(wxmlDetail.RoutingRules, ruleOk)
// Get website
res, err := client.GetBucketWebsite(bucketName)
if err != nil {
HandleError(err)
}
fmt.Println("Website IndexDocument:", res.IndexDocument.Suffix)
// Set bucket website detail
err = client.SetBucketWebsiteDetail(bucketName, wxmlDetail)
if err != nil {
HandleError(err)
}
// Get website Detail
res, err = client.GetBucketWebsite(bucketName)
if err != nil {
HandleError(err)
}
fmt.Println("Website Redirect type:", res.RoutingRules[0].Redirect.RedirectType)
// Delete Website
err = client.DeleteBucketWebsite(bucketName)
if err != nil {
HandleError(err)
}
// Delete bucket
err = client.DeleteBucket(bucketName)
if err != nil {
HandleError(err)
}
fmt.Println("BucketWebsiteSample completed")
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/aliyun/aliyun-oss-go-sdk.git
git@gitee.com:aliyun/aliyun-oss-go-sdk.git
aliyun
aliyun-oss-go-sdk
aliyun-oss-go-sdk
v3.0.2

搜索帮助