Backend

express 에서 dynamoDB 사용하기

wngnl05 2025. 1. 7. 13:51

Install Aws-Sdk

npm i aws-sdk dotenv

 

Example /conf/dynamo.js

더보기
const AWS = require('aws-sdk');
require('dotenv').config("../");

// AWS DynamoDB 설정
const configureDynamoDB = () => {
    AWS.config.update({
        region: process.env.AwsRegion,
        accessKeyId: process.env.AwsAccess,
        secretAccessKey: process.env.AwsSecret,
    });
    return new AWS.DynamoDB.DocumentClient();
};

// dynamoDB 삽입 함수
const dynamoDB_Insert = async (tableName, item) => {
    const dynamoDb = configureDynamoDB();
    const params = {
        TableName: tableName,
        Item: item,
    };

    try { await dynamoDb.put(params).promise() } 
    catch (error) { return [] }
};

// dynamoDB 조회 함수
const dynamoDB_Get = async (tableName, key) => {
    const dynamoDb = configureDynamoDB();
    const params = {
        TableName: tableName,
        Key: key,
    };

    try {
        const data = await dynamoDb.get(params).promise();
        return data.Item || [];
    }
    catch (error) { return [] }
};

// dynamoDB 삭제 함수
const dynamoDB_Delete = async (tableName, key) => {
    const dynamoDb = configureDynamoDB();
    const params = { TableName: tableName, Key: key };
    try { await dynamoDb.delete(params).promise() } 
    catch (error) { return [] }
};

module.exports = { dynamoDB_Insert, dynamoDB_Get, dynamoDB_Delete };

 

How to run?

const { dynamoDB_Insert, dynamoDB_Get, dynamoDB_Delete } = require('../conf/dynamoDB.js');

 

await dynamoDB_Insert("TableName", {userEmail: "", userPassword: ""})
const response = await dynamoDB_Get("TableName", {userName: "lee"})
await dynamoDB_Delete("TableName", {userName: "lee"})