Версия AWS SDK для Go?
последняя
Версия Go (go version
)?
go1.13.1
Какую проблему вы видели?
Используйте s3manage для загрузки большого файла ( более 5 ГБ ), он может быть успешно загружен и байтов из S3 файл и локальный файл совпадают, , но сумма MD5 и количество строк различаются
Шаги для воспроизведения
file,_ := os.Open(fileName)
defer file.Close()
fileInfo, _ := file.Stat()
size := fileInfo.Size()
buffer := make([]byte, size)
_, _ = file.Read(buffer)
fileBytes := bytes.NewReader(buffer)
fileType := http.DetectContentType(buffer)
client := s3.New(sess)
uploader := s3manager.NewUploaderWithClient(client, func(u *s3manager.Uploader) {
u.PartSize = 10 * 1024 * 1024 // 10MB part size
u.Concurrency = 5
})
resp, err := uploader.Upload(&s3manager.UploadInput{
Bucket: aws.String(bucket),
Key: aws.String(key),
Body: fileBytes,
ContentType: aws.String(fileType),
})
fmt.Println(resp)
if err != nil {
fmt.Println(err)
return
}
Загруженный файл представляет собой текстовый файл с следующее содержание как это:
00003df9-92f5-441e-9709-9a83a8f0e6a9 12 package 5727
00004a35-f154-4da8-9b21-84860ee07019 12 package 5727
...