Amazon web services 无法使用Go SDK下载大于100MB的S3对象
我有一个带有2个端点的RESTAPI:1处理上传到S3的POST请求,另一个为GET请求提供文件,GET请求从bucket下载文件并将其提供给客户端。现在:Amazon web services 无法使用Go SDK下载大于100MB的S3对象,amazon-web-services,go,amazon-s3,Amazon Web Services,Go,Amazon S3,我有一个带有2个端点的RESTAPI:1处理上传到S3的POST请求,另一个为GET请求提供文件,GET请求从bucket下载文件并将其提供给客户端。现在: 当我在上传24小时后尝试从S3下载文件时,虽然我能够在同一天检索到该文件,但收到拒绝访问的响应。是否需要配置一些东西来防止这种情况?这跟这样的事情有关吗 当启动下载以从S3获取文件时,30秒后出现超时错误。服务器在15分钟内配置WriteTimeout。如何防止超时?注意:这不是lambda函数或任何类型的无服务器函数。我也没有使用Clou
buf := aws.NewWriteAtBuffer([]byte{})
s3Svc := s3.New(s)
downloader := s3manager.NewDownloaderWithClient(s3Svc, func(d *s3manager.Downloader) {
d.PartSize = 64 * MB
d.Concurrency = 3
})
result, err := downloader.Download(
buf, &s3.GetObjectInput{
Bucket: aws.String(rc.AWS.Bucket),
Key: aws.String(fileName),
})
if err != nil {
return nil, err
}
d := bytes.NewReader(buf.Bytes())
w.Header().Set("Content-Disposition", "filename="OriginalFileName)
http.ServeContent(w, r, filename, time.Now(), d)