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