[typescript] 타입스크립트에서 AWS DynamoDB와의 데이터베이스 통합 구현

AWS DynamoDB는 관리형 NoSQL 데이터베이스 서비스로서, 손쉽게 확장이 가능하고 빠르고, 유연한 데이터 모델링을 제공합니다. 이번에는 타입스크립트로 AWS DynamoDB와의 데이터베이스 통합을 구현하는 방법에 대해 알아보겠습니다.

1. AWS SDK 설치

먼저, AWS SDK를 설치해야 합니다. AWS SDK는 타입스크립트로 AWS 서비스와 상호작용하기 위한 도구입니다. 아래 명령어를 사용하여 AWS SDK를 설치할 수 있습니다.

npm install aws-sdk

2. AWS 계정 및 액세스 키 설정

AWS DynamoDB를 사용하려면 AWS 계정 및 액세스 키가 필요합니다. AWS 콘솔에서 해당 정보를 얻을 수 있습니다. 획득한 액세스 키를 사용하여 AWS SDK를 초기화해야 합니다.

import AWS from 'aws-sdk';

AWS.config.update({
  region: 'aws-region',
  accessKeyId: 'your-access-key',
  secretAccessKey: 'your-secret-access-key'
});

const dynamodb = new AWS.DynamoDB();

aws-region, your-access-key, your-secret-access-key에는 각각 실제 정보를 넣어주어야 합니다.

3. 테이블 생성과 데이터 쓰기

이제 DynamoDB 테이블을 생성하고 데이터를 쓰는 방법을 알아보겠습니다. 아래는 예시 코드입니다.

const params = {
  TableName: 'Books',
  KeySchema: [
    { AttributeName: 'id', KeyType: 'HASH' }
  ],
  AttributeDefinitions: [
    { AttributeName: 'id', AttributeType: 'S' }
  ],
  ProvisionedThroughput: {
    ReadCapacityUnits: 1,
    WriteCapacityUnits: 1
  }
};

dynamodb.createTable(params, (err, data) => {
  if (err) {
    console.error('Error creating table: ', err);
  } else {
    console.log('Created table. Table description JSON: ', JSON.stringify(data, null, 2));
  }
});

4. 데이터 읽기

이제 생성한 테이블에서 데이터를 읽는 방법을 알아보겠습니다. 아래는 예시 코드입니다.

const params = {
  TableName: 'Books',
  Key: {
    'id': { S: '1' }
  }
};

dynamodb.getItem(params, (err, data) => {
  if (err) {
    console.error('Error reading from table: ', err);
  } else {
    console.log('Item retrieved: ', JSON.stringify(data, null, 2));
  }
});

마치며

이제 타입스크립트에서 AWS DynamoDB와의 데이터베이스 통합을 구현하는 방법을 살펴보았습니다. AWS SDK를 사용하여 DynamoDB와 상호작용하는 다양한 기능을 타입스크립트로 구현할 수 있으며, 더 많은 기능과 옵션에 대한 정보는 AWS SDK 공식 문서를 참고할 수 있습니다.

참고 문헌: AWS SDK for JavaScript v3 개발자 안내서

관련 태그: 타입스크립트, AWS, DynamoDB, 데이터베이스, NoSQL, 서버리스