Работа с невидимым потоковым вводом в AWS SDK для Go v2: методы и примеры

AWS SDK для Go v2 предоставляет методы для работы с недоступными для поиска потоковыми входными данными. Вот несколько методов, которые вы можете использовать, а также примеры кода:

Метод

  1. 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")
    }
  2. Метод

  3. 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.