我正在尝试下载目录下的文件,而不是直接在存储桶中下载。
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作为参数。仅指定没有前缀的存储桶名称会导致找不到密钥错误。尝试如下设置“存储桶”,但出现错误
错误:无法下载文件SignatureDoesNotMatch:我们计算出的请求签名与您提供的签名不匹配。检查您的密钥和签名方法。状态码:403,请求ID:647D920C72888888
注意:可以直接在存储桶下下载文件。
Bucket应该始终是您的存储桶的名称。Key是对象的全名(路径),因此在您的情况下应为myFolder/myFile。
Bucket
Key
myFolder/myFile