본문 바로가기
AWS

[AWS S3] AWS boto3를 이용한 Python + S3 연동

by 신입같은 3년차 2018. 10. 5.

AWS S3 버킷이 생성되있고 계정이 있다는 가정으로 글을 작성하였습니다.

 

S3연동을 위해 boto3 SDK를 사용하겠습니다. 사용하기에 앞서 설치부터 하겠습니다.

 

QuickStart 를 참고하여 작성하였습니다.

 

커맨드라인 입력창에

 

 

 

# aws s3 연결을 하기위해 aws에서 제공하는 S3 SDK
#> pip install boto3

 


#aws 커맨드라인 명령어를 사용하기 위한 awscli설치
#> pip install awscli

aws Access Key , Secret Key , region 등록을 위한 설정파일 생성.
#>aws configure

 
 

 

다음과 같이 4가지를 입력하는창을 확인할 수 있다. 제 개인키와 Secret Access Key이기 때문에 blur처리를하였습니다.

 
두개의 키는 IAM 콘솔 -> 사용자에서 확인할 있으며 액세스키를 만들고 파일로 빼서 확인할수도 있다.
 
키 생성은 [내 보안 자격 증명] -> [사용자]에서 사용자 클릭후 [보안 자격 증명]에서 만들수 있다.
 
액세스 키를 만들때 Secret Key와 Access Key를 확인할 수 있으며  원한다면 csv 확장자 파일로 저장도 가능하다.
 
주의해야할 점은 이 키를 남이 도용하게 된다면 그만큼 자신에게 요금이 발생하니 key는 사용하지 않을때는 비활성화 or 새로 만들어주는걸 권장한다.
 
위와 같이 발급받은 키를 통해 aws configure에 Access Key와 Secret Key를 입력하고 
 
region name을 입력한다 지역 이름인데  'ap-northeast-2' 가 서울이라서 저는 서울을 입력하였고 
 
더 많은 지역 정보를 확인하고 싶다면 . [https://docs.aws.amazon.com/ko_kr/general/latest/gr/rande.html] 에서 확인 가능합니다.
 
그리고 [사용자]에 사용자의 계정으로 사용할 Application의 권한들을 추가해준다.
 
S3를 쓰고 다운로드를 할것이기때문에 AmazonS3FullAccess권한을 추가해주시면 됩니다.
 
다음장으로 넘어가면서 SQS도 알아볼것이기때문에 한번에 AmazonSQSFullAccess도 등록해주시면 좋습니다.
 
그후 S3로 들어가 버켓을 생성해준다음 다음 코드를 파이썬 실행파일 or 인터프리터에서 실행하였을경우 버켓의 이름이 나오면 성공입니다.
 

 

 

>>> import boto3

>>> s3 = boto3.resource(‘s3’)

>>> for bucket in s3.buckets.all() : 
>>>       print(bucket.name)

 

잘되지 않았다면 처음부터 천천히 해보시고 그래도 안된다면 댓글 부탁드립니다.

반응형

댓글