AWS S3에 파일 업로드하기

2022. 3. 23. 00:55BackEnd

https://velog.io/@kho5420/Flask-AWS-S3%EC%97%90-%ED%8C%8C%EC%9D%BC-%EC%97%85%EB%A1%9C%EB%93%9C%ED%95%98%EA%B8%B0

 

[Flask] AWS S3에 파일 업로드하기

AWS S3의 버켓을 생성하는 과정은 생략 먼저 S3에 접근하기 위해서 AWS ACCESS KEY와 SECRET KEY, 버켓네임(BUCKET_NAME)을 설정파일에 작성해줍니다.그 다음 설정파일에서 받아온 값들로 s3에 connection을 할

velog.io

 

from s3 import s3_connection

@app.route('/testS3',methods=['POST'])
# @cross_origin(origin='*',headers=['Content- Type','Authorization'])
def s3upload():
    
    profile_image = request.files['file']

    print('tempimg',profile_image)
    BUCKET_NAME ='ksp-s3-bucket'
    # s3_path = 'banner_images'
    
    print('profile_image',profile_image.content_type)
    s3.put_object(
	Bucket = BUCKET_NAME,
    	Body = profile_image,
    	Key = 'banner_images/testPic2.png',
    	ContentType = profile_image.content_type)
    
    

    return '200'
import boto3
import environ

env = environ.Env()
# reading .env file
environ.Env.read_env()
AWS_ACCESS_KEY = env('aws_access_key_id')
AWS_SECRET_ACCESS_KEY = env('aws_secret_access_key')

def s3_connection():
     '''
     s3 bucket에 연결
     :return: 연결된 s3 객체
     '''
     try:
          s3 = boto3.client(
               service_name='s3',
               #   맞는지 여쭈어 볼것
               region_name="ap-northeast-2",
               # access_key_id 와 aws_secret_access_key는 절대 올라가면 안됨 -> 재훈님 은 100만원 나왔음
               aws_access_key_id=AWS_ACCESS_KEY,
               aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
          )
     except Exception as e:
          print(e)
          #    exit(ERROR_S3_CONNECTION_FAILED)
     else:
          print("s3 bucket connected!")
          return s3

'BackEnd' 카테고리의 다른 글

2022-03-23(erc 셋팅 )  (0) 2022.03.24
env  (0) 2022.03.23
s3 설치  (0) 2022.03.23
Add Swagger UI to Python Flask API  (0) 2022.03.20
Swagger - spring boot 기준  (0) 2022.03.20