使用预签名URL直传对象存储 应用示例 基于预签名 URL 构造如下 HTTP 请求即可上传对象到对象存储。 golang curl X PUT T yourlocalfilename 'yourpresignurl' 生成预签名下载URL 请求示例 golang func PresignGetObjectRequest(s3c s3.S3) { bucket : "examplebucket" key : "examplekey" input : &s3.GetObjectInput{ Bucket: aws.String(bucket), Key: aws.String(key), } // 构造请求 request, : s3c.GetObjectRequest(input) // 设定预签名链接过期时间 expire : 15 time.Minute // 预签名请求 output, err : request.Presign(expire) if err ! nil { fmt.Printf(" Status: Failn Output:n%vn Error:n%vn", output, err) } else { fmt.Printf(" Status: Susccessn Output:n%vn", output) } } 响应示例 生成的预签名 URL 见 Output 部分。 bash Status: Susccess Output: 应用示例 基于预签名 URL 构造如下 HTTP 请求即可下载对象到本地。 golang curl Lo yourlocalfilename 'yourpresignurl'