곧 AWS SDK for JavaScript(v2)에 대한 지원이 종료될 예정임을 알려드립니다
DynamoDB에서 테이블 생성 및 사용
이 Node.js 코드 예제는 다음을 보여 줍니다.
DynamoDB에서 데이터를 저장하고 검색하는 데 사용되는 테이블을 생성하고 관리하는 방법
시나리오
다른 데이터베이스 시스템과 마찬가지로 DynamoDB는 데이터를 테이블에 저장합니다. DynamoDB 테이블은 행과 유사한 항목으로 구성되는 데이터의 모음입니다. DynamoDB에서 데이터를 저장하거나 데이터에 액세스하려면 테이블을 생성하고 테이블로 작업합니다.
이 예에서는 일련의 Node.js 모듈을 사용하여 DynamoDB 테이블의 기본 작업을 수행합니다. 이 코드는 SDK for JavaScript에서 AWS.DynamoDB
클라이언트 클래스의 다음 메서드를 사용하여 테이블을 생성하고 테이블로 작업합니다.
사전 필수 작업
이 예제를 설정하고 실행하려면 먼저 다음 작업을 완료합니다.
Node.js를 설치합니다. 자세한 내용은 Node.js
웹 사이트를 참조하세요. 사용자 자격 증명을 사용하여 공유 구성 파일을 생성합니다. 공유 자격 증명 파일 제공에 대한 자세한 내용은 공유 인증 자격 증명 파일에서 Node.js에 인증 자격 증명 로드 섹션을 참조하세요.
표 생성
파일 이름이 ddb_createtable.js
인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. DynamoDB에 액세스하려면 AWS.DynamoDB
서비스 객체를 생성합니다. 테이블을 생성하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 예제에서는 각 속성의 이름과 데이터 형식, 키 스키마, 테이블의 이름, 프로비저닝할 처리량의 단위가 포함됩니다. DynamoDB 객체의 createTable
메서드를 직접 호출합니다.
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });
// Create the DynamoDB service object
var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" });
var params = {
AttributeDefinitions: [
{
AttributeName: "CUSTOMER_ID",
AttributeType: "N",
},
{
AttributeName: "CUSTOMER_NAME",
AttributeType: "S",
},
],
KeySchema: [
{
AttributeName: "CUSTOMER_ID",
KeyType: "HASH",
},
{
AttributeName: "CUSTOMER_NAME",
KeyType: "RANGE",
},
],
ProvisionedThroughput: {
ReadCapacityUnits: 1,
WriteCapacityUnits: 1,
},
TableName: "CUSTOMER_LIST",
StreamSpecification: {
StreamEnabled: false,
},
};
// Call DynamoDB to create the table
ddb.createTable(params, function (err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Table Created", data);
}
});
예제를 실행하려면 명령줄에서 다음을 입력합니다.
node ddb_createtable.js
이 샘플 코드는 GitHub
테이블 목록 조회
파일 이름이 ddb_listtables.js
인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. DynamoDB에 액세스하려면 AWS.DynamoDB
서비스 객체를 생성합니다. 테이블을 나열하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다, 이 예제에서는 나열되는 테이블 수를 10으로 제한합니다. DynamoDB 객체의 listTables
메서드를 직접 호출합니다.
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });
// Create the DynamoDB service object
var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" });
// Call DynamoDB to retrieve the list of tables
ddb.listTables({ Limit: 10 }, function (err, data) {
if (err) {
console.log("Error", err.code);
} else {
console.log("Table names are ", data.TableNames);
}
});
예제를 실행하려면 명령줄에서 다음을 입력합니다.
node ddb_listtables.js
이 샘플 코드는 GitHub
테이블 설명
파일 이름이 ddb_describetable.js
인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. DynamoDB에 액세스하려면 AWS.DynamoDB
서비스 객체를 생성합니다. 테이블을 설명하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 예제에서는 명령줄 파라미터로 제공되는 테이블의 이름이 포함됩니다. DynamoDB 객체의 describeTable
메서드를 직접 호출합니다.
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });
// Create the DynamoDB service object
var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" });
var params = {
TableName: process.argv[2],
};
// Call DynamoDB to retrieve the selected table descriptions
ddb.describeTable(params, function (err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data.Table.KeySchema);
}
});
예제를 실행하려면 명령줄에서 다음을 입력합니다.
node ddb_describetable.js
TABLE_NAME
이 샘플 코드는 GitHub
테이블 삭제
파일 이름이 ddb_deletetable.js
인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. DynamoDB에 액세스하려면 AWS.DynamoDB
서비스 객체를 생성합니다. 테이블을 삭제하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 예에서는 명령줄 파라미터로 제공되는 테이블의 이름을 포함합니다. DynamoDB 객체의 deleteTable
메서드를 직접 호출합니다.
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });
// Create the DynamoDB service object
var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" });
var params = {
TableName: process.argv[2],
};
// Call DynamoDB to delete the specified table
ddb.deleteTable(params, function (err, data) {
if (err && err.code === "ResourceNotFoundException") {
console.log("Error: Table not found");
} else if (err && err.code === "ResourceInUseException") {
console.log("Error: Table in use");
} else {
console.log("Success", data);
}
});
예제를 실행하려면 명령줄에서 다음을 입력합니다.
node ddb_deletetable.js
TABLE_NAME
이 샘플 코드는 GitHub