AWS SDK for JavaScript v2 はサポート終了となりました。AWS SDK for JavaScript v3 に移行することをお勧めします。その他の詳細、移行方法については、こちらの発表内容
DynamoDB のバッチでの項目の読み取りと書き込み
この Node.js コード例は以下を示しています。
DynamoDB テーブルの項目のバッチを読み書きする方法。
シナリオ
この例では、一連の Node.js モジュールを使用して、項目のバッチを読み取ると共に、DynamoDB テーブルに項目のバッチを配置します。コードは SDK for JavaScript を使用して、DynamoDB クライアントクラスのこれらのメソッドでバッチ読み取りおよび書き込みを実行します。
前提条件タスク
この例をセットアップして実行するには、まず次のタスクを完了します。
Node.js をインストールします。詳細については、Node.js のウェブサイト
を参照してください。 ユーザーの認証情報を使用して、共有設定ファイルを作成します。共有認証情報ファイルの提供の詳細については、共有認証情報ファイルから Node.js に認証情報をロードする を参照してください。
項目にアクセスできる DynamoDB テーブルを作成します。DynamoDB テーブルを作成する方法の詳細については、DynamoDB のテーブルの作成と使用 を参照してください。
Batch の項目の読み取り
ddb_batchgetitem.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。DynamoDB にアクセスするには、AWS.DynamoDB サービスオブジェクトを作成します。項目のバッチを取得するために必要なパラメータを含む JSON オブジェクトを作成します。この例では、読み取る 1 つ以上のテーブルの名前、各テーブルで読み取るキーの値、および返す属性を指定するプロジェクション式が含まれます。DynamoDB サービスオブジェクトの batchGetItem メソッドを呼び出します。
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); var params = { RequestItems: { TABLE_NAME: { Keys: [ { KEY_NAME: { N: "KEY_VALUE_1" } }, { KEY_NAME: { N: "KEY_VALUE_2" } }, { KEY_NAME: { N: "KEY_VALUE_3" } }, ], ProjectionExpression: "KEY_NAME, ATTRIBUTE", }, }, }; ddb.batchGetItem(params, function (err, data) { if (err) { console.log("Error", err); } else { data.Responses.TABLE_NAME.forEach(function (element, index, array) { console.log(element); }); } });
この例を実行するには、コマンドラインに次のように入力します。
node ddb_batchgetitem.js
このサンプルコードは、このGitHub
Batch での項目の書き込み
ddb_batchwriteitem.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。DynamoDB にアクセスするには、AWS.DynamoDB サービスオブジェクトを作成します。項目のバッチを取得するのに必要なパラメータを含む JSON オブジェクトを作成します。この例には、項目を書き込むテーブル、各項目に書き込むキー、および属性とその値が含まれます。DynamoDB サービスオブジェクトの batchWriteItem メソッドを呼び出します。
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); var params = { RequestItems: { TABLE_NAME: [ { PutRequest: { Item: { KEY: { N: "KEY_VALUE" }, ATTRIBUTE_1: { S: "ATTRIBUTE_1_VALUE" }, ATTRIBUTE_2: { N: "ATTRIBUTE_2_VALUE" }, }, }, }, { PutRequest: { Item: { KEY: { N: "KEY_VALUE" }, ATTRIBUTE_1: { S: "ATTRIBUTE_1_VALUE" }, ATTRIBUTE_2: { N: "ATTRIBUTE_2_VALUE" }, }, }, }, ], }, }; ddb.batchWriteItem(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });
この例を実行するには、コマンドラインに次のように入力します。
node ddb_batchwriteitem.js
このサンプルコードは、このGitHub