@@ -3,6 +3,7 @@ package s3
33import (
44 "context"
55 "errors"
6+ "fmt"
67 "log"
78 "io/ioutil"
89 "os"
@@ -51,14 +52,14 @@ func New(log *log.Logger, bucket string) (*Client, error) {
5152 config .WithRegion (region ),
5253 )
5354 if err != nil {
54- return nil , err
55+ return nil , fmt . Errorf ( "Could not load the AWS SDK config (%v)" , err )
5556 }
5657
5758 log .Printf ("Discovered current region as %q\n " , config .Region )
5859
5960 bucketRegion , err := manager .GetBucketRegion (ctx , s3 .NewFromConfig (config ), bucket )
6061 if err != nil {
61- return nil , err
62+ return nil , fmt . Errorf ( "Could not discover the region for bucket %q: (%v)" , bucket , err )
6263 }
6364
6465 log .Printf ("Discovered bucket region as %q\n " , bucketRegion )
@@ -99,7 +100,7 @@ func (c *Client) Get(key string) ([]byte, error) {
99100 }
100101 }
101102
102- return nil , err
103+ return nil , fmt . Errorf ( "Could not GetObject (%s) in bucket (%s): (%v)" , key , c . bucket , err )
103104 }
104105 defer out .Body .Close ()
105106 // we probably should return io.Reader or io.ReadCloser rather than []byte,
@@ -113,7 +114,7 @@ func (c *Client) Get(key string) ([]byte, error) {
113114// Other errors result in false with an error.
114115func (c * Client ) BucketExists () (bool , error ) {
115116 if _ , err := c .s3 .HeadBucket (context .TODO (), & s3.HeadBucketInput {Bucket : & c .bucket }); err != nil {
116- return false , err
117+ return false , fmt . Errorf ( "Could not HeadBucket (%s): (%v)" , c . bucket , err )
117118 }
118119 return true , nil
119120}
0 commit comments