실습을 진행하기전에 ec2를 생성해 줘야한다
putty로 본인이 들어갈 수 있는 간단한 ec2를
public ip로 접근가능하게 만들면 된다
그리고 EC2에 IAM role을 부착해 준다
step1
step2
본인이 원하는 이름으로 Role 만들어준 뒤에
다시 ec2로 돌아가
step1
step2
일단 이렇게 dynamodbfullaccess policy 를 가진 rule ec2 에 설치 했다면 DynamoDB의 읽기 쓰기 뿐만 아니라 여러가지 기능을 다 사용할 수 있게 된다
이제 DynamoDB를 만들면 된다
이런식으로 테이블 생성을 해주고
이런식으로만 해주면 된다
참고로 partition key는 무조건 있어야한다
(만약 본인이 테이블과 파티션을 다르게 생성했다면 기억해야한다
sample을 이용할 거라 이름이 다르면 실행이 안될 수도 있다)
이제 다시 ec2로 들어가서
aws dynamodb list-tables 해주면 만들어준 테이블이 보인다
이제 실습 파일을 다운을 받아준다
실행권한을 준다
wget https://aws-rdsworkshop.s3.ap-northeast-2.amazonaws.com/rdsworkshop/ddbws.zip #이게 zip 파일로 실습 파일 다운로드 해줌
unzip ddbws.zip #현재 위치에서 압축을 풀어줌
cd ddbws
chmod +x ./*.sh #파일을 실행 시킬 수 있도록 권한주기
zonaws.com/rdsworkshop/ddbws.zip
나이스하게 잘 생성이 되었다
먼저 봐야할 것은
테이블에 데이터를 넣어준다
aws dynamodb --region ap-northeast-2 put-item --table-name AccountTableFirst --item
#ap-northeast-2에 있는 테이블 이름이 AccountTableFirst 에게 put-item즉 아이템(데이터)를 올리겠다 --item 무슨 아이템이냐면
#userid가 partitionkey에다가는 joe를 S 즉 string 의 값으로 집어 넣을 것이고
나머지도 마찬가지 이다가 L 하고 안에 S로 집어넣는 loginresult는 L 인 list로 감싸주고 S 스트링으로 안에 값을 써줌
--condition-expression
# 여기는 함수 부분인데 항목에 속성이 존재하는지 판단하거나 속성 값을 평가합니다. 근데 여기에서는
attribute_not_exists(userid) 즉 path에 의해 지정된 속성이 항목에 포함되어 있지 않는 경우를 뜻한다
--return-consumed-capacity TOTAL
#GetItem에서 사용된 읽기 용량 단위 수를 반환하려면 ReturnConsumedCapacity 파라미터를 TOTAL로 설정합니다.라고 나와있다
암튼 이과정을 수행하면 야무지게
DynamoDB > 테이블 > AccountTableFirst > 표 항목 탐색
이런식으로 아름답게 데이터가 put이 된 것을 알 수 있다
두번째로는 이제 데이터를 업데이트 시킬 것이다
update
저 노란색만 보면 된다
아래 echo 같은 경우에는 DynamoDB의 데이터 값을 보여주는 것이다
aws dynamodb --region ap-northeast-2 update-item --table-name AccountTableFirst
# AccountTableFirst에 update-item 즉 데이터를 추가하겠다는 뜻이다
--key
#partition key는 userid의 Joe의 값으로 해서 추가해주면 된다
출처:
https://www.youtube.com/watch?v=U_GJYMUjiwA