Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menstrim Fail Besar ke AWS S3 dengan Go?
Strim Fail Muat Naik ke AWS S3 Menggunakan Go
Cabaran:
Strim berbilang bahagian yang besar /form-data fail terus ke AWS S3, meminimumkan memori dan jejak cakera.
Penyelesaian:
Untuk mencapainya, kami akan menggunakan Pemuat Naik S3 daripada github .com/aws/aws-sdk-go library.
Pelaksanaan:
Contoh Kod:
import ( "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/s3/s3manager" ) func main() { // Create an S3 uploader with custom options uploader := s3manager.NewUploader(session.Must(session.NewSession()), func(u *s3manager.Uploader) { u.PartSize = 5 * 1024 * 1024 // 5MB part size u.Concurrency = 2 // 2 concurrent uploads }) // Open the file for upload f, err := os.Open("file.txt") if err != nil { panic(err) } defer f.Close() // Stream file to S3 result, err := uploader.Upload(&s3manager.UploadInput{ Bucket: aws.String("my-bucket"), Key: aws.String("file.txt"), Body: f, }) if err != nil { panic(err) } // Display uploaded file information fmt.Printf("File uploaded to: %s", result.Location) }
Atas ialah kandungan terperinci Bagaimana untuk Menstrim Fail Besar ke AWS S3 dengan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!