AWS SDK для Go v2 предоставляет методы для работы с недоступными для поиска потоковыми входными данными. Вот несколько методов, которые вы можете использовать, а также примеры кода:
Метод
-
s3manager.Upload:
Этот метод позволяет загружать недоступные для поиска потоковые данные в корзину S3.package main import ( "os" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/aws/external" "github.com/aws/aws-sdk-go-v2/service/s3" "github.com/aws/aws-sdk-go-v2/service/s3/s3manager" ) func main() { cfg, err := external.LoadDefaultAWSConfig() if err != nil { panic("failed to load config, " + err.Error()) } file, err := os.Open("path/to/file") if err != nil { panic("failed to open file, " + err.Error()) } defer file.Close() uploader := s3manager.NewUploader(cfg) _, err = uploader.Upload(&s3manager.UploadInput{ Bucket: aws.String("your-bucket-name"), Key: aws.String("your-object-key"), Body: file, }) if err != nil { panic("failed to upload file, " + err.Error()) } println("File uploaded successfully") } -
s3.PutObject:
Этот метод позволяет загружать недоступные для поиска потоковые входные данные в корзину S3 с помощью низкоуровневого API.package main import ( "os" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/aws/external" "github.com/aws/aws-sdk-go-v2/service/s3" ) func main() { cfg, err := external.LoadDefaultAWSConfig() if err != nil { panic("failed to load config, " + err.Error()) } file, err := os.Open("path/to/file") if err != nil { panic("failed to open file, " + err.Error()) } defer file.Close() svc := s3.New(cfg) _, err = svc.PutObjectRequest(&s3.PutObjectInput{ Bucket: aws.String("your-bucket-name"), Key: aws.String("your-object-key"), Body: file, }).Send() if err != nil { panic("failed to upload file, " + err.Error()) } println("File uploaded successfully") }
Метод
Эти примеры демонстрируют, как загрузить недоступные для поиска потоковые данные в корзину S3 с помощью AWS SDK для Go v2.