我需要从 S3 下载文件,然后将相同的文件上传到不同的 S3 存储桶中。到目前为止我有:sess := session.Must(session.NewSession())downloader := s3manager.NewDownloader(sess)buffer := aws.NewWriteAtBuffer([]byte{})n, err := downloader.Download(buffer, &s3.GetObjectInput{ Bucket: aws.String(sourceS3Bucket), Key: aws.String(documentKey),})uploader := s3manager.NewUploader(sess)result, err := uploader.Upload(&s3manager.UploadInput{ Bucket: aws.String(targetS3Bucket), Key: aws.String(documentKey), Body: buffer,})我使用了 aws.WriteAtBuffer,但是,我目前陷入了如何将此缓冲区视为实现 io.Reader 接口的问题,这是上传程序的 Upload 方法所需要的。
1 回答

扬帆大鱼
TA贡献1799条经验 获得超9个赞
使用bytes.NewReader在缓冲区中的字节上创建 io.Reader :
result, err := uploader.Upload(&s3manager.UploadInput{
Bucket: aws.String(targetS3Bucket),
Key: aws.String(documentKey),
Body: bytes.NewReader(buffer.Bytes()),
})
- 1 回答
- 0 关注
- 135 浏览
添加回答
举报
0/150
提交
取消