@@ -33,6 +33,19 @@ func init() {
3333 s3Client = s3 .NewFromConfig (cfg )
3434}
3535
36+ func uploadReceiptToS3 (ctx context.Context , bucketName , key , receiptContent string ) error {
37+ _ , err := s3Client .PutObject (ctx , & s3.PutObjectInput {
38+ Bucket : & bucketName ,
39+ Key : & key ,
40+ Body : strings .NewReader (receiptContent ),
41+ })
42+ if err != nil {
43+ log .Printf ("Failed to upload receipt to S3: %v" , err )
44+ return err
45+ }
46+ return nil
47+ }
48+
3649func handleRequest (ctx context.Context , event json.RawMessage ) error {
3750 // Parse the input event
3851 var order Order
@@ -53,14 +66,8 @@ func handleRequest(ctx context.Context, event json.RawMessage) error {
5366 order .OrderID , order .Amount , order .Item )
5467 key := "receipts/" + order .OrderID + ".txt"
5568
56- // Upload the receipt to S3
57- _ , err := s3Client .PutObject (ctx , & s3.PutObjectInput {
58- Bucket : & bucketName ,
59- Key : & key ,
60- Body : strings .NewReader (receiptContent ),
61- })
62- if err != nil {
63- log .Printf ("Failed to upload receipt to S3: %v" , err )
69+ // Upload the receipt to S3 using the helper method
70+ if err := uploadReceiptToS3 (ctx , bucketName , key , receiptContent ); err != nil {
6471 return err
6572 }
6673
0 commit comments