AWS/AWS 공부

[AWS] dynamoDB 저장 in Node

Yuco 2024. 3. 7. 21:01

1. DynamoDB save Item 

아래 코드는 노드 타입스크립트AWS dynamoDB 테이블에 값을 저장하는 코드입니다. 

DynamoDBClient를 사용하여 dynamoDB 테이블에 item을 put 함으로써, AWS DynamoDB 테이블에 값이 생성된 걸 확인할 수 있습니다. 아래 Item Json 값은 실제 Dynamo 테이블의 필드 값에 맞게 요청해주면 됩니다. 

import {randomUUID} from 'crypto';
import {DynamoDBClient, PutItemCommand, PutItemCommandInput} from "@aws-sdk/client-dynamodb";

async function saveToDynamoDB(body: Body, status: string) {
    const ddbDocClient = new DynamoDBClient({region: "ap-northeast-2"});
    const params: PutItemCommandInput = {
        TableName: process.env.TABLE_NAME,
        Item: {
            "id": {S: randomUUID().replace(/-/g, '')},
            "status": {S: status},
            "start_date": {S: body.start_date},
            "end_date": {S: body.end_date},
            "created_at": {S: new Date().toISOString()},
            "updated_at": {S: new Date().toISOString()}
        }
    };

    try {
        const command = new PutItemCommand(params);  // dynamoDB save
        await ddbDocClient.send(command);
    } catch (error) {
        logger.error(error);
    }
}

 

* AWS Client 를 사용 시에 적절한 예외 처리를 하지 않았을 경우, 에러가 터지는 경우가 많습니다. 그러므로 예외 처리에 주의 해주셔야 합니다.