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