DynamoDB のテーブルの作成と使用 - AWS SDK for JavaScript

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

DynamoDB のテーブルの作成と使用

JavaScript code example that applies to Node.js execution

この Node.js コード例は以下を示しています。

  • DynamoDB からデータを保存および取得するために使用されるテーブルを作成および管理する方法。

シナリオ

他のデータベース管理システムと同様、DynamoDB はデータをテーブルに保存します。DynamoDB テーブルは、行に相当する項目に整理されたデータの集まりです。DynamoDB にデータを保存またはアクセスするには、テーブルを作成して使用します。

この例では、一連の Node.js モジュールを使用して DynamoDB テーブルで基本的な操作を実行します。このコードは、SDK for JavaScript を使用して、AWS.DynamoDB クライアントクラスのこれらのメソッドでテーブルを作成して使用します。

前提条件タスク

この例をセットアップして実行するには、まず次のタスクを完了します。

テーブルの作成

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 で入手できます。