ls-2018
https://help.aliyun.com/document_detail/32144.html?spm=a2c4g.11186623.6.891.11595d26Z9Lr27

 

 

package oss

import (
    "fmt"
    "github.com/aliyun/aliyun-oss-go-sdk/oss"
)

var ossCli *oss.Client

// Client : 创建oss client对象
func Client() *oss.Client {
    if ossCli != nil {
        return ossCli
    }
    ossCli, err := oss.New("oss-cn-shenzhen.aliyuncs.com",
        "<你的AccesskeyId>", "<你的AccessKeySecret>")
    if err != nil {
        fmt.Println(err.Error())
        return nil
    }
    return ossCli
}

// Bucket : 获取bucket存储空间
func Bucket() *oss.Bucket {
    cli := Client()
    if cli != nil {
        bucket, err := cli.Bucket("buckettest-filestore2")
        if err != nil {
            fmt.Println(err.Error())
            return nil
        }
        return bucket
    }
    return nil
}

// DownloadURL : 临时授权下载url
func DownloadURL(objName string) string {
    signedURL, err := Bucket().SignURL(objName, oss.HTTPGet, 3600)
    if err != nil {
        fmt.Println(err.Error())
        return ""
    }
    return signedURL
}

// BuildLifecycleRule : 针对指定bucket设置生命周期规则
func BuildLifecycleRule(bucketName string) {
    // 表示前缀为test的对象(文件)距最后修改时间30天后过期。
    ruleTest1 := oss.BuildLifecycleRuleByDays("rule1", "test/", true, 30)
    rules := []oss.LifecycleRule{ruleTest1}
    Client().SetBucketLifecycle(bucketName, rules)
}

 

Bucket().PutObject(ossPath, newFile)  // 同步

 

分类:

技术点:

相关文章: