본문 바로가기

개발

파이썬으로 AWS Dynamodb 쉽게 연결하고 데이터 넣기

다음 프로젝트를 위해 웹사이트의 상품을 beautifulsoup으로 받아와서 바로 클라우드 db에 넣으려 했다.

현업에서는 보통 AWS를 많이 사용하는 것 같길래, AWS의 NoSQL db인 DynamoDB를 사용해보고자 했다.

몇번의 오류 끝에 쉽게 연결할 수 있었는데, 딱 이거다 하고 나같은 파이썬 사용자를 위해 쉽게 정리된 글이 보이지 않아 직접 작성한다.

1. 먼저 AWS 계정이 필요하다. AWS 계정을 만들고, 콘솔에 로그인한다. 

2. 계정을 만들었으면 Dynamodb로 가서 테이블을 만든다.

기본 키가 필요한데, 데이터를 보고 키값으로 설정할 만한 값을 넣어주면 된다.

다음으로 IAM 으로 가서 사용자와 그룹을 만들어준다. 

만들 때 ID, 비밀번호, 시크릿 키를 보여주는데 잘 메모해놓자. 나중에 쓰인다.

그룹을 만들면 그룹에 권한을 주는 작업을 한 번만 해도 되서 편한 듯 하다.

권한 추가 - DynamoDBFullAccess를 추가해 주자. 


다음으로 boto3을 설치한다.(파이썬 사용자의 경우)

pip install boto3

 

다음으로 파이썬 파일에서 불러와주면 끝이다.

from crawler import crawl
import boto3

dynamodb = boto3.resource('dynamodb', region_name='us-east-2',aws_access_key_id='yourkeyid',aws_secret_access_key='yoursecretkey')

table = dynamodb.Table('tablename')

table.put_item(Item=data)

resource() 안에는 연결할 서비스와 리전, 아까 사용자 생성할 때 보여줬던 AWS KEY ID, SECRET ACCESS KEY를 넣어준다.

리전은 콘솔창에 로그인하면 보이는 주황색 리전을 넣어주면 된다.

 

그러면 끝!

크롤링 할 때마다 db에 넣을 수 있도록 설정했는데

Dynampdb-테이블-항목으로 가서 보니 잘 들어갔다.