1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
package sample
import (
"fmt"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
// BucketRefererSample 展示了如何设置/读取/清除存储空间的白名单(Bucket Referer)
func BucketRefererSample() {
// New Client
client, err := oss.New(endpoint, accessID, accessKey)
if err != nil {
HandleError(err)
}
// 使用默认参数创建bucket
err = client.CreateBucket(bucketName)
if err != nil {
HandleError(err)
}
var referers = []string{
"http://www.aliyun.com",
"http://www.???.aliyuncs.com",
"http://www.*.com",
}
// 场景1:设置referers,referer中支持?和*,分布代替一个或多个字符
err = client.SetBucketReferer(bucketName, referers, false)
if err != nil {
HandleError(err)
}
// 场景2:清空referers
referers = []string{}
err = client.SetBucketReferer(bucketName, referers, true)
if err != nil {
HandleError(err)
}
// 获取Bucket上设置的Lifecycle
gbr, err := client.GetBucketReferer(bucketName)
if err != nil {
HandleError(err)
}
fmt.Println("Bucket Referers:", gbr.RefererList,
"AllowEmptyReferer:", gbr.AllowEmptyReferer)
// 删除bucket
err = client.DeleteBucket(bucketName)
if err != nil {
HandleError(err)
}
fmt.Println("BucketRefererSample completed")
}
|