Browse Source

Add 'boto3_util.py'

天问 1 month ago
parent
commit
829da82da0
1 changed files with 24 additions and 0 deletions
  1. 24 0
      boto3_util.py

+ 24 - 0
boto3_util.py

@@ -0,0 +1,24 @@
+import boto3
+from PIL import Image
+import numpy as np
+from io import BytesIO
+class S3Util:
+    @classmethod
+    def read_image_from_s3(cls, bucket, key, region_name='ap-southeast-1')->np.ndarray:
+        s3 = boto3.resource('s3', region_name='ap-southeast-1')
+        bucket = s3.Bucket(bucket)
+        object = bucket.Object(key)
+        response = object.get()
+        file_stream = response['Body']
+        im = Image.open(file_stream)
+        return np.array(im)
+
+    @classmethod
+    def write_image_to_s3(cls, img_array, bucket, key, region_name='ap-southeast-1')->None:
+        s3 = boto3.resource('s3', region_name)
+        bucket = s3.Bucket(bucket)
+        object = bucket.Object(key)
+        file_stream = BytesIO()
+        im = Image.fromarray(img_array)
+        im.save(file_stream, format='jpeg')
+        object.put(Body=file_stream.getvalue())