[typescript] 타입스크립트로 AWS DynamoDB 조작하기

AWS DynamoDB는 NoSQL 데이터베이스로서 데이터를 저장하고 검색할 수 있는 서비스입니다. 타입스크립트를 사용하여 AWS SDK를 통해 DynamoDB를 조작하는 방법을 알아보겠습니다.

설치

먼저 프로젝트에 aws-sdk를 설치합니다.

npm install aws-sdk

그 후에 필요한 모듈을 import 합니다.

import * as AWS from "aws-sdk";

AWS 자격 증명 구성

DynamoDB에 액세스하려면 AWS 자격 증명이 필요합니다. AWS에서 제공하는 자격 증명을 사용하거나, AWS.config를 설정하여 수동으로 자격 증명을 구성할 수 있습니다.

AWS.config.update({
  region: "ap-northeast-2", // 원하는 지역
  accessKeyId: "your-access-key",
  secretAccessKey: "your-secret-key"
});

테이블 생성

DynamoDB에 데이터를 저장하려면 먼저 테이블을 생성해야 합니다. 아래는 테이블을 생성하는 예제입니다.

const dynamodb = new AWS.DynamoDB();

const params = {
  TableName: "Books",
  KeySchema: [{ AttributeName: "title", KeyType: "HASH" }], // Partition key
  AttributeDefinitions: [{ AttributeName: "title", AttributeType: "S" }],
  ProvisionedThroughput: {
    ReadCapacityUnits: 5,
    WriteCapacityUnits: 5
  }
};

dynamodb.createTable(params, (err, data) => {
  if (err) {
    console.error("Error creating table", err);
  } else {
    console.log("Table created", data);
  }
});

데이터 삽입

이제 생성한 테이블에 데이터를 삽입해보겠습니다.

const docClient = new AWS.DynamoDB.DocumentClient();

const params = {
  TableName: "Books",
  Item: {
    "title": "The Great Gatsby",
    "author": "F. Scott Fitzgerald",
    "year": 1925
  }
};

docClient.put(params, (err, data) => {
  if (err) {
    console.error("Error inserting data", err);
  } else {
    console.log("Data inserted", data);
  }
});

데이터 조회

마지막으로 삽입한 데이터를 조회하는 예제입니다.

const params = {
  TableName: "Books",
  Key: {
    "title": "The Great Gatsby"
  }
};

docClient.get(params, (err, data) => {
  if (err) {
    console.error("Error getting data", err);
  } else {
    console.log("Data retrieved", data.Item);
  }
});

이제 타입스크립트로 AWS DynamoDB를 조작하는 기본적인 방법에 대해 알아보았습니다. 더 많은 작업을 위해서는 AWS JavaScript SDK 문서를 참고하시기 바랍니다.