[AWS] Amazon DynamoDB CRUD 활동
AWS CLI를 이용하여 DynamoDB 테이블 생성 , 관리
1. cloud9 생성 및 연결
cloud9 생성후 연결 , plus tab을 눌러서 새터미널을 선택한다 .
2. AWS CLI 업그레이드
aws --version 명령어로 버전 확인 ( 기본적으로 1.9버전이 설정되어있다 ).
다음 명령어로 업데이트.
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
# unzip awscliv2.zip
# sudo ./aws/install
# unzip awscliv2.zip
# sudo ./aws/install
3. DynamoDB 생성
출력은 다음과 같은 JSON 형식의 테이블 세부 정보를 표시 해야 한다 .
테이블 상태 확인 명령어 .
# aws dynamodb describe-table \
> --table-name movies \
> --query "Table.TableStatus"4.DynamoDB 테이블 항목 추가
영화 HarryPotter에 대한 세부 정보가 포함된 테이블을 생성한다 .
같은 방식으로 2 가지 더 생성
aws dynamodb put-item \
--table-name movies \
--item '{
"year": {"N": "2001"},
"title": {"S": "HarryPotter"},
"actors": {"SS": ["Daniel Radcliffe", "Emma Watson", "Rupert Grint"]}
}'
5. Scan 작업 및 필터로 항목 가져오기
테이블에 항목을 생성했으므로 get-item , batch-get-item, 쿼리 및 스캔과 같은 다양한 명령을 이용할 수 있다 .
aws dynamodb scan \
--table-name movie
- 스캔 작업을 실행하여 특정 영화를 찾기
- 테이블을 먼저 스캔하여 모든 항목을 반환하는지 확인
- 전체 테이블을 스캔하되 제목이 HarryPotter인것을 반환
aws dynamodb scan \
--table-name movies \
--filter-expression "title = :name" \
--expression-attribute-values '{":name": {"S": "HarryPotter"}}'
6. 쿼리 작업으로 항목 가져오기
2001년에 출시된 영화에 대한 테이블을 쿼리한다 .
aws dynamodb query \
--table-name movies \
--projection-expression "title" \
--key-condition-expression "#y = :yr" \
--expression-attribute-names '{"#y":"year"}' \
--expression-attribute-values '{":yr":{"N":"2001"}}'
7. 새로운 항목 추가 하기
각 영화의 평점을 추가 한다 .
aws dynamodb update-item \
--table-name movies \
--key '{
"year": {"N": "2001"},
"title": {"S" :"HarryPotter"}
}' \
--update-expression 'SET #rating = :rate' \
--expression-attribute-names '{
"#rating": "rating"
}' \
--expression-attribute-values '{":rate": {"N": "9.2"}}'
8. 항목 삭제 하기
- SpiderMan 영화를 삭제한다 .
aws dynamodb delete-item \
--table-name movies \
--key '{
"year": {"N": "2002"},
"title": {"S" :"SpiderMan"}
}'
테이블 삭제
지금까지 만든 movies 테이블을 삭제한다 .
aws dynamodb delete-table \
--table-name movies
삭제 확인
aws dynamodb list-tables
댓글
댓글 쓰기