Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 无法使用Go SDK下载大于100MB的S3对象_Amazon Web Services_Go_Amazon S3 - Fatal编程技术网

Amazon web services 无法使用Go SDK下载大于100MB的S3对象

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

我有一个带有2个端点的RESTAPI:1处理上传到S3的POST请求,另一个为GET请求提供文件,GET请求从bucket下载文件并将其提供给客户端。现在:

  • 当我在上传24小时后尝试从S3下载文件时,虽然我能够在同一天检索到该文件,但收到拒绝访问的响应。是否需要配置一些东西来防止这种情况?这跟这样的事情有关吗
  • 当启动下载以从S3获取文件时,30秒后出现超时错误。服务器在15分钟内配置WriteTimeout。如何防止超时?注意:这不是lambda函数或任何类型的无服务器函数。我也没有使用CloudFront(据我所知)。下面是GET请求的代码片段
  • 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)