[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