플라스크
AWS S3 파일 업로드 해보기
코드 죄수
2023. 4. 14. 22:19
https://code-escape.tistory.com/93
AWS S3 버킷 생성하기
고유한 버킷 이름을 정해준다. 객체 소유권은 권장으로 두고 퍼블릭 엑세스를 차단하면 외부 접속이 불가능하다고 해서 모든 퍼블릭 엑세스 차단을 비활성화로 바꿔 줍니다. 나머지는 그대로
code-escape.tistory.com
S3 버킷을 먼저 생성하고 IAM에서 액세스키와 시크릿키를 생성하고 저장해 놓는다. (만들면 다시 볼 수 없다고 하기 때문...)
IAM에서 키를 생성하는 부분을 적지 못하여서 다른 블로그를 참조해주길 바란다.(다음에 시간날때 추가해 두도록 하겠다.)
필자는 파이썬을 이용하여 이미지를 업로드하겠다.
import boto3
from botocore.exceptions import ClientError
def test(self):
# 이미지가 저장되어있는 로컬 컴퓨터 파일위치
file_path = config.file_path
# s3 클라이언트 생성
s3_client = boto3.client(
's3',
aws_access_key_id=config.AWS_ACCESS_KEY,
aws_secret_access_key=config.AWS_SECRET_KEY,
region_name=config.AWS_REGION
)
# S3 객체 이름 지정 (이 이름으로 s3에 저장됨)
object_name = 'test.jpg'
# 파일 업로드
try:
s3_client.upload_file(file_path, config.bucket_name, object_name)
return 'true'
except ClientError as e:
print(e)
return 'false'
filepath는 현재 내 컴퓨터에 있는 파일의 위치를 알려주고 업로드 하는 형식으로 하였다.
s3에 object_name으로 올라가게 된다.