生成预签名下载链接

以下代码演示如何为一个指定对象生成一个预签名的下载链接。

func (p *S3Demo) generateUrl() {
    bucket := "<your-bucket-name>"
    key := "<your-key-name>"
    expire := <expire-time> // e.g. 5*time.Minute
    req, _ := p.svc.GetObjectRequest(&s3.GetObjectInput{
        Bucket: &bucket,
        Key:    &key,
    })
    urlStr, err := req.Presign(expire)
    if err != nil {
        fmt.Println("err, ", err)
        return
    }
    fmt.Println("success, ", urlStr)
}

参数如下:

参数 类型 说明 是否必要
Bucket *string bucket的名称
Key *string 对象的key
Expires time.Duration 超时时间