nicht herunterladen Ich versuche, einen bestimmten Datenabschnitt von S3 zu downloaden. Im Folgenden ist das Code-Snippet.Kann einen Bytebereich von S3-Objekt mit AWS Go SDK
func DownloadFromS3() ([]byte, error) {
retries := 5
awsSession = session.Must(session.NewSessionWithOptions(session.Options{
SharedConfigState: session.SharedConfigEnable,
Config: aws.Config{
MaxRetries: &retries,
LogLevel: aws.LogLevel(aws.LogDebugWithHTTPBody),
},
}))
// Create S3 service client
serviceS3 = s3.New(awsSession)
d := s3manager.NewDownloaderWithClient(serviceS3,func(d *s3manager.Downloader) {
d.Concurrency = 10 // should be ignored
d.PartSize = 1 // should be ignored
})
w := &aws.WriteAtBuffer{}
n, err := d.Download(w, &s3.GetObjectInput{
Bucket: aws.String("mybucket"),
Key: aws.String("key1"),
Range: aws.String("bytes=0-9"),
})
if err != nil {
return nil, err
}
return w.Bytes(), err
}
Aber dies wird kontinuierlich Stück für Stück heruntergeladen, bis das gesamte Objekt abgerufen wird; ohne nur den angegebenen Teil herunterzuladen. Fehle ich irgendwelche Konfigurationen hier?
Danke. Ja, es war ein Problem mit dem SDK, das sie in der Version 1.8.33 behoben haben – Anuruddha