首页 文章

Go - 在前缀下下载S3文件

提问于
浏览
0

我正在尝试下载目录下的文件而不是直接在存储桶中 .

file, err := os.Create("s3file.csv")
downloader := s3manager.NewDownloader(session.New(&aws.Config{Region: aws.String("us-east-1")}))
numBytes, err := downloader.Download(file,
    &s3.GetObjectInput{
        Bucket: aws.String(bucket),
        Key:    aws.String(key),
    })

存储桶名称 - “myBucket”文件夹名称 - “myFolder”文件名 - “myFile”

GetObjectInput不接受Prefix作为参数 . 仅指定不带前缀的存储桶名称会导致Key not found错误 . 尝试设置“桶”如下,但得到错误

  • myBucket / myFolder

  • myBucket / myFolder /

  • myBucket&prefix = myFolder

错误:无法下载文件SignatureDoesNotMatch:我们计算的请求签名与您提供的签名不匹配 . 检查您的密钥和签名方法 . 状态码:403,请求ID:647D920C72888888

注意:直接在存储桶下载文件正在运行 .

1 回答

  • 0

    Bucket 应该始终是您的桶的名称 . Key 是对象的全名(路径),因此在您的情况下,应该是 myFolder/myFile .

相关问题