본문 바로가기

AWS

RDS에서 DDB로 Data Insert

PostgreSQL RDS (RDB)의 데이터를 Amazon DynamoDB (NoSQL) insert하는 방법에 대해 설명하고자 합니다. 사용하는 툴은 pgAdmin, Amazon S3, Amazon IAM, Amazon Lambda, Amazon DynamoDB, boto3 입니다.

Postgre SQL에서 emp 테이블의 결과 값을 csv 파일로 저장합니다.

 

저장되는 csv 파일의 이름은 data-1617595503266.csv 파일입니다.

다운 받은 csv 파일을 S3 Bucket에 올려줍니다.

 

 

Insert할 데이터를 담을 테이블을 생성해줍니다.

이후 Lambda Boto3를 이용하여 S3 Bucket DynamoDB 접근을 위해서 역할을 생성해야 합니다. 그에 앞서서 역할에 적용할 정책을 생성해줍니다.

 

S3 Bucket에 접근할 수 있도록 하는 정책을 생성해줍니다.

위에 만든 정책을 가지고 역할을 만들어줍니다. 추가적으로 DynamoDB에 접근하기 위하여 미리 생성되어 있는 템플릿 AmazonDynamoDBFullAccess를 정책으로 등록하였습니다

 

위 생성된 역할을 가지고 Lambda 함수를 만들어 줍니다. 위에서 기존 역할 사용에서 역할을 선택해주면 됩니다.

 

코드를 넣어주고 Deploy로 함수를 저장한 다음 Test로 실행을 해줍니다.

Test를 눌러주면 다음과 같은 결과 창을 얻을 수 있습니다. list out of index인 것을 보아 잘 실행된 것을 알 수 있습니다.

위의 소스 코드를 실행한 뒤의 모습입니다. csv 파일 안의 데이터들이 DDB로 성공적으로 insert된 것을 확인할 수 있습니다.

이상입니다.

'AWS' 카테고리의 다른 글

Elastic Search - Cloudwatch 연동  (0) 2021.05.31
AWS Command Line Interface (AWS CLI)  (0) 2021.04.12
AWS Lambda  (0) 2021.04.12
Boto3 (AWS SDK for Python)  (0) 2021.04.12
Amazon Athena  (0) 2021.04.12