Python으로 좀 더 쉽고 간편하게 업무적인 요구 사항을 만족하는 스트립트를 만들 수 있다.
이번글의 Mysql 접속 방법과 AWS DynamoDB를 접근하는 방법에 대해 정리하겠다.
설치
pip3 install boto3
pip3 install pymysql
기본적으로 python3.7를 사용하여 구성 하였다.
MySQL
def selectData(IdFrom,IdTo):
#Mysql 연결
conn = pymysql.connect(host='localhost', user='root', password='test', db='test', charset='utf8', port=3306)
cur = conn.cursor()
sql = "select * from book where book_id>%s AND book_id<%s order by id limit 10"%(str(IdFrom),str(IdTo))
cur.execute(sql)
rows = cur.fetchall()
#Row를 가지고 처리
DynamoDB
def putData():
dynamodb = boto3.resource('dynamodb',aws_access_key_id='xxx',aws_secret_access_key='xxxx',region_name='ap-northest-2')
table = dynamodb.Table('book')
rows = cur.fetchall()
# with table.batch_writer() as batch: ## batch writer 를 사용 가능함
for row in rows:
table.put_item(Item={
'book_id': row[0]
'title': row[1],
'publish_timestemp': row[2].strftime("%Y%m%dT%H%M%S"),
'price':Decimal(str(row[3])),
})
Dynamo DB는 Double 대신 Decimal 타입을 지원하기에 type 변환을 해줘야 한다.
'DataBase' 카테고리의 다른 글
[DataBase] Order by에서 null 값 처리 (0) | 2022.01.06 |
---|---|
[Spring] DynamoDB Enhanced Client 사용 기 (feat. AWS SDK V2) (0) | 2021.12.23 |
[DynamoDB] Partition Key 설계 (0) | 2021.12.21 |
[Database] DynamoDB GSI 사용 (0) | 2021.12.19 |
[DynamoDB] Spring에서 DynamoDB 사용 (0) | 2021.12.16 |
Comment