[AWS] Dynamo DB: ์์
๋ค์ด๋๋ชจDB๋ AWS ์ธํ๋ผ์์๋ง ์ ์ฉ์ผ๋ก ์ ๊ณตํ๋ ํค-๊ฐ ๊ธฐ๋ฐ์ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
๋ฐ ์๋น์ค๋ค.
NoSQL๋ต๊ฒ, ๋จ์ ์ฐ๊ธฐ์ ์ฝ๊ธฐ๋ ๊ทธ ์ด๋ค RDB๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๋ค. ๋์ ๋ณต์กํ ๊ด๊ณ Join์ด๋ ์ ๋ ฌ ๋ฑ์ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ํจ์ฌ ๋นํจ์จ์ ์ผ ์ ์๋ค.
์๋ฒ๋ฆฌ์ค ์์คํ
์ด๋ผ ์์ฒญ์ด ๋ง๋ ์ ๋ ์ ๊ฒฝ์ธ ํ์๊ฐ ์๊ณ , ์ฑ๋ฅ๋ ์์ฃผ ์ข์ ํธ์ด๋ค.
๊ฒ๋ค๊ฐ ๊ธฐ๋ณธ์๊ธ์ด ์์ด ๋ฑ ์ด๋งํผ๋ง ์๊ธ์ด ๋๊ฐ๋ค.

๊ทธ ์๊ธ์ด ์ผ ํธ์ด ์๋๊ธด ํ์ง๋ง, ์๋ฌดํผ ํธ๋ฆฌํ๊ณ ๋น์ฉ๊ด๋ฆฌ๊ฐ ์ฝ๋ค๋ ์ ์ด ์ฐธ ๋ฉ๋ฆฌํธ๊ฐ ํฌ๋ค๊ณ ํ๊ฒ ๋ค.
๋์ด ๋๊ฐ๋๊ฒ ์ซ๋ค๋ฉด ์๋ง์กด์์ ๋ก์ปฌ๋ก ์ฌ์ฉํ ์ ์๋ ์คํํ ํ๋ก๊ทธ๋จ์ ์ ๊ณตํ๋ค.
์ค์น๋ ์ฌ๊ธฐ์ ํ ์ ์๋ค.
https://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/workbench.settingup.html
AWS ์ฝ์์์ ํ ์คํธ
ํ์ง๋ง ๋๋ ์ ๋๋ก ์ฌ์ฉํด๋ณด๊ณ ์ถ๊ธฐ ๋๋ฌธ์, ๊ทธ๋ฅ ๋ฐ๋ก ์๋น์ค๋ฅผ ์ฌ์ฉํด์ ํ
์คํธํด๋ณด๊ฒ ๋ค.
ํ
์ด๋ธ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํ๋ค.

๋๋ ์๋์ ๊ฐ์ด ๋ง๋ค์๋ค.
ํ
์ด๋ธ ์ด๋ฆ ์ ์ ํด์ฃผ๊ณ , ๊ธฐ๋ณธ ํค๊ฐ์ ์ค์ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ์๊ธ์ด ์ ๋ง ์ด๋งํผ๋ง ๋๊ฐ๋๋ก ์จ๋๋งจ๋ ๋ชจ๋๋ก ์ค์ ํ๋ค.
์ด์ธ์๋ ๋ณ๋ก ์ง์ ํ ๊ฒ ์๋ค.
๊ทธ๋ฅ ํค-๊ฐ ๊ธฐ๋ฐ์ NoSQL์ด๋ค๋ณด๋ ๊ธฐ๋ณธ ํค ๋ง๊ณ ๋ ๊ฐ์ ์์ ๋กญ๊ฒ ๋ฃ๊ณ ๋บ ์ ์๋ ์์คํ
์ด๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋ผ ํ ์ด๋ธ์ด ์์ฑ๋ ๊ฒ์ด๊ณ . ์์ ๋กญ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ฑฐ๋ ์ฝ์ ์ ์๋ค.



๋๋ค์ ์ฐ๊ฒฐํ๊ธฐ
๋๋ค๋ฅผ ๋์ถฉ ๋ง๋ค๊ณ , ๊ถํ์์ ์คํ ์ญํ ์ ๋ค์ด๊ฐ๋ค.
๋ค์ด๋๋ชจ๋ฅผ ๋๋ค์์ ์ ์ดํ ์ ์๋๋ก ํด๋ณด๊ฒ ๋ค.

์ ์ฑ ์ฐ๊ฒฐ ๋๋ฅด๊ณ

์ฌ๊ธฐ์ ๋ค์ด๋๋ชจ์ ๋ํ ์ ๊ทผ๊ถํ์ ์ง์ ํด์ฃผ๋ฉด ๋๋ค.
์ผ๋จ์ ์ด๊ฒ์ ๊ฒ ๋ค ํ
์คํธํด๋ณผ ๊ฑฐ๋๊น FullAccess๋ก ํด๋ณด๊ฒ ๋ค.
๊ฒฝ์ฐ์ ๋ฐ๋ผ์ ReadOnly๋ก ์ค๋ ๋๊ณ ...
๋๋ ค๋ณด๊ธฐ
๊ทธ๋ผ ๋ฐ์์
์ ๋์ถฉ ๋์ผ๋ ์ด์ ๋๋ ค๋ณด์.
๋๊ฐ ์๋์ ๊ฐ์ด ์ง๋ฉด ๋๋ค.
๊ทธ๋ฅ ํ
์ด๋ธ ๋ชฉ๋ก์ ์ ์ฒด์กฐํํ๋ ์ฝ๋๋ค.

const AWS = require('aws-sdk');
AWS.config.update({
region: 'ap-northeast-1', // ๋ฆฌ์ ์ ๋ณด
endpoint: "http://dynamodb.ap-northeast-1.amazonaws.com"
});
const dynamodb = new AWS.DynamoDB();
const docClient = new AWS.DynamoDB.DocumentClient();
exports.handler = async (event) => {
const result = await dynamodb.listTables().promise();
// TODO implement
const response = {
statusCode: 200,
body: result.TableNames,
};
return response;
};
๋๋

https://software-creator.tistory.com/16
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html
https://velog.io/@nari120/DynamoDB-Lambda-%EC%98%88%EC%A0%9C