4-1/졸업프로젝트

[flask]이미지 저장과 불러오기(aws - s3연동)

개발자 덕구🐾 2022. 5. 12. 10:30
728x90

이미지를 캡쳐하고 이를 불러오기위해서 방법을 찾아보다가 

aws s3을 이용해 서버에 올리고 받을 수 있다는 것을 찾을 수 있었다.

 

 

https://velog.io/@jeong-god/Python%EA%B3%BC-AWS-S3%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0

 

Python과 AWS S3연동하기

Python과 AWS S3연동하기

velog.io

해당 포스팅을 통해 s3 버켓을 만들고 policy를 생성하였다.

 

 

 

 

그러다가 

 

 

 

 

 S3 Action Does Not Apply to any Resources Error 에러가  발생해서 아래 주소에서 알려준 방법을 통해 해결하였다. 

 

https://bobbyhadz.com/blog/aws-s3-action-does-not-apply-to-resources

 

Solve - S3 Action Does Not Apply to any Resources Error | bobbyhadz

To solve the "Action Does Not Apply to any Resources" error, set the `Resource` field of `Bucket` specific actions to the bucket's ARN (`arn:aws:s3:::my-bucket`) and the `Resource` field of `Object` specific actions an ARN inside the bucket (`arn:aws:s3:::

bobbyhadz.com

 

 

 

만든 정책이다. 

뒤에 /*를 붙여 에러를 해결하였다. 

 

 

 

 


 

 

 

그후 보안을 위해 IAM을 생성하였다. 

엑세스 키를 잘 저장하고 

 

 

 

 

 

 

 

새롭게 파이썬 파일을 만들고 내부에 s3를 사용할 수 있도록 함수를 만들었다. 

 

 

 

이제 이 파이썬 파일을 import하여 함수(이미지를 업로드, 가져오기) 를 사용할 수 있다. 

 

 

 

 

 

https://velog.io/@jeong-god/Python%EA%B3%BC-AWS-S3%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0

 

Python과 AWS S3연동하기

Python과 AWS S3연동하기

velog.io

다시 한번 올리지만 이 포스팅하신분 절 받으세요 

21세기 문명이 최고다. 

 

 

 

 

 

 

 

이용법 참고 

https://kimjingo.tistory.com/87

 

[Python] boto3를 이용한 Flask-S3 연동 (파일 업로드 및 다운로드)

boto3 설치 pip install boto3 s3 config file 정의 # m_config.py AWS_ACCESS_KEY = "SDKNFLWKEFNWEFKEFJA" AWS_SECRET_ACCESS_KEY = "fWEKLFWKLENWK" AWS_S3_BUCKET_REGION = "ap-northeast-2" AWS_S3_BUCKET_NA..

kimjingo.tistory.com

https://baejinsoo.github.io/aws/AWS-02/

 

파이썬으로 S3 버킷에 파일 업로드하기(boto3)

프로젝트 관리하기

baejinsoo.github.io

 

https://manchann.tistory.com/22

 

[AWS S3] image get object using boto3

저번 포스팅에서 python boto3 라이브러리를 이용하여 s3를 download 받는 방법을 정리했다. 하지만 s3 download는 s3에 있는 이미지 데이터를 로컬에 저장해두어야 한다는 단점이 있다. 로컬에 이미지를

manchann.tistory.com

 

 

 


 

 

그러다가 에러가 계속나길래 이유를 찾아보니까 

botocore.exceptions.ClientError: An error occurred (SignatureDoesNotMatch) when calling the ListBuckets operation: The request signature we calculated does not match the signature you provided. Check your key and signing method.

 

https://lynlab.co.kr/blog/52

 

AWS 라이브러리의 SignatureDoesNotMatch 해결 방법

AWS 클라이언트를 이용할 때 발생한 SignatureDoesNotMatch 에러의 원인과 해결 방법.

lynlab.co.kr

IAM의 비밀 엑세스 키에 / 가 포함되서 안된거란다. 되려면 새로 IAM 계정을 만들어야한단다. 

어떻게 이런 신박한 에러가..!

 

 

 

반응형