DynamoDB에서 테이블 생성 및 사용 - AWS SDK for JavaScript

AWS SDK for JavaScript V3 API 참조 안내서는 AWS SDK for JavaScript 버전 3(V3)의 모든 API 작업을 자세히 설명합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

DynamoDB에서 테이블 생성 및 사용

JavaScript code example that applies to Node.js execution

이 Node.js 코드 예제는 다음을 보여 줍니다.

  • DynamoDB에서 데이터를 저장하고 검색하는 데 사용되는 테이블을 생성하고 관리하는 방법

시나리오

다른 데이터베이스 시스템과 마찬가지로 DynamoDB는 데이터를 테이블에 저장합니다. DynamoDB 테이블은 행과 유사한 항목으로 구성되는 데이터의 모음입니다. DynamoDB에서 데이터를 저장하거나 데이터에 액세스하려면 테이블을 생성하고 테이블로 작업합니다.

이 예에서는 일련의 Node.js 모듈을 사용하여 DynamoDB 테이블의 기본 작업을 수행합니다. 이 코드는 SDK JavaScript form을 사용하여 클라이언트 클래스의 다음 메서드를 사용하여 테이블을 생성하고 작업합니다DynamoDB.

사전 필수 작업

이 예제를 설정하고 실행하려면 먼저 다음 작업을 완료합니다.

  • 이러한 Node.js 예제를 실행하도록 프로젝트 환경을 설정하고 필수 AWS SDK for JavaScript 모듈과 타사 모듈을 설치합니다. 의 지침을 따르십시오 GitHub.

  • JavaScript DynamoDB 클라이언트용 SDK를 설치합니다. 자세한 정보는 버전 3의 새 기능을 참조하세요.

  • 사용자 자격 증명을 사용하여 공유 구성 파일을 생성합니다. 공유 보안 인증 파일 제공에 관한 자세한 내용은 AWS SDK 및 도구 참조 가이드Shared config and credentials files 단원을 참조하세요.

중요

이 예에서는 ECMAScript6(ES6)를 사용합니다. 따라서 Node.js 버전 13.x 이상이 필요합니다. 최신 버전의 Node.js를 다운로드하여 설치하려면 Node.js downloads를 참조하세요.

그러나 CommonJS 구문을 사용하려는 경우 JavaScript ES6/CommonJS 구문 단원을 참조하세요.

참고

이 예에 사용된 데이터 형식에 관한 자세한 내용은 Amazon DynamoDB에서 지원되는 데이터 형식 및 명명 규칙을 참조하세요.

테이블 생성

파일 이름이 create-table.js인 Node.js 모듈을 생성합니다. 필수 클라이언트 및 패키지 다운로드를 포함하여 앞서 나와 있는 것처럼 SDK를 구성해야 합니다. DynamoDB에 액세스하려면 DynamoDB 클라이언트 서비스 객체를 생성합니다. 테이블을 생성하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 예제에서는 각 속성의 이름과 데이터 형식, 키 스키마, 테이블의 이름, 프로비저닝할 처리량의 단위가 포함됩니다. DynamoDB 서비스 객체의 CreateTableCommand 메서드를 직접적으로 호출합니다.

import { CreateTableCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new CreateTableCommand({ TableName: "EspressoDrinks", // For more information about data types, // see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes and // https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.DataTypeDescriptors AttributeDefinitions: [ { AttributeName: "DrinkName", AttributeType: "S", }, ], KeySchema: [ { AttributeName: "DrinkName", KeyType: "HASH", }, ], ProvisionedThroughput: { ReadCapacityUnits: 1, WriteCapacityUnits: 1, }, }); const response = await client.send(command); console.log(response); return response; };

예를 실행하려면 명령 프롬프트에서 다음을 입력합니다.

node create-table.js

이 예제 코드는 여기에서 찾을 수 있습니다. GitHub

테이블 목록 조회

파일 이름이 list-tables.js인 Node.js 모듈을 생성합니다. 필수 클라이언트 및 패키지 다운로드를 포함하여 앞서 나와 있는 것처럼 SDK를 구성해야 합니다. DynamoDB에 액세스하려면 DynamoDB 클라이언트 서비스 객체를 생성합니다. 테이블을 나열하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다, 이 예제에서는 나열되는 테이블 수를 10으로 제한합니다. DynamoDB 서비스 객체의 ListTablesCommand 메서드를 직접적으로 호출합니다.

import { ListTablesCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new ListTablesCommand({}); const response = await client.send(command); console.log(response); return response; };

예를 실행하려면 명령 프롬프트에서 다음을 입력합니다.

node list-tables.js

이 예제 코드는 여기에서 찾을 수 있습니다 GitHub.

테이블 설명

파일 이름이 describe-table.js인 Node.js 모듈을 생성합니다. 필수 클라이언트 및 패키지 다운로드를 포함하여 앞서 나와 있는 것처럼 SDK를 구성해야 합니다. DynamoDB에 액세스하려면 DynamoDB 클라이언트 서비스 객체를 생성합니다. DynamoDB 서비스 객체의 DescribeTableCommand 메서드를 설명하는 데 필요한 파라미터가 포함된 JSON 객체를 생성합니다.

import { DescribeTableCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new DescribeTableCommand({ TableName: "Pastries", }); const response = await client.send(command); console.log(`TABLE NAME: ${response.Table.TableName}`); console.log(`TABLE ITEM COUNT: ${response.Table.ItemCount}`); return response; };

예를 실행하려면 명령 프롬프트에서 다음을 입력합니다.

node describe-table.js

이 예제 코드는 여기에서 찾을 수 있습니다 GitHub.

테이블 삭제

파일 이름이 delete-table.js인 Node.js 모듈을 생성합니다. 필수 클라이언트 및 패키지 다운로드를 포함하여 앞서 나와 있는 것처럼 SDK를 구성해야 합니다. DynamoDB에 액세스하려면 DynamoDB 클라이언트 서비스 객체를 생성합니다. 테이블을 삭제하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 예에서는 명령줄 파라미터로 제공되는 테이블의 이름을 포함합니다. DynamoDB 서비스 객체의 DeleteTableCommand 메서드를 직접적으로 호출합니다.

import { DeleteTableCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new DeleteTableCommand({ TableName: "DecafCoffees", }); const response = await client.send(command); console.log(response); return response; };

예를 실행하려면 명령 프롬프트에서 다음을 입력합니다.

node delete-table.js

이 예제 코드는 여기에서 찾을 수 있습니다 GitHub.