github.com/aavshr/aws-sdk-go@v1.41.3/service/s3/doc_custom.go (about)

     1  // Upload Managers
     2  //
     3  // The s3manager package's Uploader provides concurrent upload of content to S3
     4  // by taking advantage of S3's Multipart APIs. The Uploader also supports both
     5  // io.Reader for streaming uploads, and will also take advantage of io.ReadSeeker
     6  // for optimizations if the Body satisfies that type. Once the Uploader instance
     7  // is created you can call Upload concurrently from multiple goroutines safely.
     8  //
     9  //   // The session the S3 Uploader will use
    10  //   sess := session.Must(session.NewSession())
    11  //
    12  //   // Create an uploader with the session and default options
    13  //   uploader := s3manager.NewUploader(sess)
    14  //
    15  //   f, err  := os.Open(filename)
    16  //   if err != nil {
    17  //       return fmt.Errorf("failed to open file %q, %v", filename, err)
    18  //   }
    19  //
    20  //   // Upload the file to S3.
    21  //   result, err := uploader.Upload(&s3manager.UploadInput{
    22  //       Bucket: aws.String(myBucket),
    23  //       Key:    aws.String(myString),
    24  //       Body:   f,
    25  //   })
    26  //   if err != nil {
    27  //       return fmt.Errorf("failed to upload file, %v", err)
    28  //   }
    29  //   fmt.Printf("file uploaded to, %s\n", aws.StringValue(result.Location))
    30  //
    31  // See the s3manager package's Uploader type documentation for more information.
    32  // https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3manager/#Uploader
    33  //
    34  // Download Manager
    35  //
    36  // The s3manager package's Downloader provides concurrently downloading of Objects
    37  // from S3. The Downloader will write S3 Object content with an io.WriterAt.
    38  // Once the Downloader instance is created you can call Download concurrently from
    39  // multiple goroutines safely.
    40  //
    41  //   // The session the S3 Downloader will use
    42  //   sess := session.Must(session.NewSession())
    43  //
    44  //   // Create a downloader with the session and default options
    45  //   downloader := s3manager.NewDownloader(sess)
    46  //
    47  //   // Create a file to write the S3 Object contents to.
    48  //   f, err := os.Create(filename)
    49  //   if err != nil {
    50  //       return fmt.Errorf("failed to create file %q, %v", filename, err)
    51  //   }
    52  //
    53  //   // Write the contents of S3 Object to the file
    54  //   n, err := downloader.Download(f, &s3.GetObjectInput{
    55  //       Bucket: aws.String(myBucket),
    56  //       Key:    aws.String(myString),
    57  //   })
    58  //   if err != nil {
    59  //       return fmt.Errorf("failed to download file, %v", err)
    60  //   }
    61  //   fmt.Printf("file downloaded, %d bytes\n", n)
    62  //
    63  // See the s3manager package's Downloader type documentation for more information.
    64  // https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3manager/#Downloader
    65  //
    66  // Automatic URI cleaning
    67  //
    68  // Interacting with objects whose keys contain adjacent slashes (e.g. bucketname/foo//bar/objectname)
    69  // requires setting DisableRestProtocolURICleaning to true in the aws.Config struct
    70  // used by the service client.
    71  //
    72  //   svc := s3.New(sess, &aws.Config{
    73  //      	DisableRestProtocolURICleaning: aws.Bool(true),
    74  //   })
    75  //   out, err := svc.GetObject(&s3.GetObjectInput {
    76  //      	Bucket: aws.String("bucketname"),
    77  //       	Key: aws.String("//foo//bar//moo"),
    78  //   })
    79  //
    80  // Get Bucket Region
    81  //
    82  // GetBucketRegion will attempt to get the region for a bucket using a region
    83  // hint to determine which AWS partition to perform the query on. Use this utility
    84  // to determine the region a bucket is in.
    85  //
    86  //   sess := session.Must(session.NewSession())
    87  //
    88  //   bucket := "my-bucket"
    89  //   region, err := s3manager.GetBucketRegion(ctx, sess, bucket, "us-west-2")
    90  //   if err != nil {
    91  //       if aerr, ok := err.(awserr.Error); ok && aerr.Code() == "NotFound" {
    92  //            fmt.Fprintf(os.Stderr, "unable to find bucket %s's region not found\n", bucket)
    93  //       }
    94  //       return err
    95  //   }
    96  //   fmt.Printf("Bucket %s is in %s region\n", bucket, region)
    97  //
    98  // See the s3manager package's GetBucketRegion function documentation for more information
    99  // https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3manager/#GetBucketRegion
   100  //
   101  // S3 Crypto Client
   102  //
   103  // The s3crypto package provides the tools to upload and download encrypted
   104  // content from S3. The Encryption and Decryption clients can be used concurrently
   105  // once the client is created.
   106  //
   107  // See the s3crypto package documentation for more information.
   108  // https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3crypto/
   109  //
   110  package s3