我需要從 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()),
})
添加回答
舉報
0/150
提交
取消