[AWS S3] image get object using boto3 본문

AWS/S3

[AWS S3] image get object using boto3

최재강 2021. 10. 3. 10:51

저번 포스팅에서 python boto3 라이브러리를 이용하여 s3를 download 받는 방법을 정리했다.

하지만 s3 download는 s3에 있는 이미지 데이터를 로컬에 저장해두어야 한다는 단점이 있다. 로컬에 이미지를 저장해야 하는 경우에는 괜찮겟지만, 나의 경우 굳이 이미지를 저장하지 않고 python 단에서 사용만 한 후 이미지에 대한 데이터만 뽑아두면 되는 상황이였다.

따라서 boto3의 object get 방식을 이용하여 python 단에서 이미지를 read하기만 하면 된다.

import boto3
from PIL import Image

s3 = boto3.resource('s3')
def read_image_from_s3(filename):
    bucket = s3.Bucket(bucket_name)
    object = bucket.Object(filename)
    response = object.get()
    file_stream = response['Body']
    img = Image.open(file_stream)
    return img

read_image_from_s3('파일이름')
Comments