[DynamoDB] AWS DynamoDB Local 환경 셋팅, SAM, Typescript 연동
0. 준비사항 : Docker, AWS CLI 설치
1. Docker에서 DynamoDB Local 이미지를 가져와 컨테이너 실행
> pull amazon/dynamodb-local > docker run -d -p 8000:8000 amazon/dynamodb-local |
2. DynamoDB Workbench 설치(모델링 툴)
※ DynamoDB CLI 사용에 자신있으면 굳이 설치하지 않아도 됨
- 다운로드
- 사용 가이드
3. AWS CLI Profile 설정
: 위에서 확인한 Key값을 넣어준다.
> aws configure --profile DDB AWS Access Key ID [****************]: xxxxxx AWS Secret Access Key [****************]: xxxxx Default region name [none]: localhost Default output format [none]: json |
4. 테이블 생성 및 데이터 INSERT
5. CLI로 확인
: 전체 테이블 리스트
> aws dynamodb list-tables --endpoint-url http://localhost:8000 --profile DDB |
: TEST 테이블 스캔
6. AWS SAM(feat.Typescript)과 연결
import { table, hashKey, rangeKey, attribute } from '@aws/dynamodb-data-mapper-annotations'; @table('TEST')class TableMapper { @hashKey() ID?: string; @rangeKey() NAME?: string; @attribute() JOB?: string; } export default TableMapper; |
const mapper = new DataMapper({ |
7. 참고사항
Workbench를 이용하지 않고 CLI 이용 시 (OS Windows)
aws dynamodb create-table ^ --table-name TEST ^ --attribute-definitions AttributeName=ID,AttributeType=S AttributeName=NAME,AttributeType=S ^ --key-schema AttributeName=ID,KeyType=HASH AttributeName=NAME,KeyType=RANGE ^ --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1 ^ --endpoint-url http://localhost:8000 --profile DDB
|