Verwenden von aws.WriteAtBuffer zum Implementieren von io.WriterAt für S3-Downloads
Beim Herunterladen von Dateien aus einem S3-Bucket mit dem AWS SDK können Sie dies tun Es besteht eine Anforderung für ein Objekt, das die Schnittstelle io.WriterAt implementiert. Bei Bytes.Buffer, einem häufig verwendeten In-Memory-Puffer, fehlt diese Implementierung. Um dieses Problem zu beheben, können Sie den vom AWS SDK bereitgestellten aws.WriteAtBuffer verwenden.
Um aws.WriteAtBuffer für S3-Downloads zu verwenden, führen Sie die folgenden Schritte aus:
Instanziieren Sie eine aws.WriteAtBuffer zum Speichern der heruntergeladenen Dateien Daten:
buf := aws.NewWriteAtBuffer([]byte{})
Richten Sie die S3-Download-Anfrage ein:
requestInput := s3.GetObjectInput{ Bucket: aws.String(bucket), Key: aws.String(key), }
Führen Sie den Download-Vorgang mit dem S3-Downloader aus:
downloader.Download(buf, &requestInput)
Rufen Sie die heruntergeladenen Daten von ab Puffer:
fmt.Printf("Downloaded %v bytes", len(buf.Bytes()))
Mit diesem Ansatz können Sie S3-Objekte direkt in den Speicher herunterladen, ohne temporäre Dateien zu erstellen.
Das obige ist der detaillierte Inhalt vonWie implementiert man io.WriterAt für effiziente S3-Downloads mit aws.WriteAtBuffer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!