在 DynamoDB 中 Batch 讀取和寫入項目 - AWS SDK for JavaScript

我們宣布了即將推 end-of-support 出的 AWS SDK for JavaScript v2。我們建議您移轉至 AWS SDK for JavaScript v3。有關日期,其他詳細信息以及如何遷移的信息,請參閱鏈接的公告。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 DynamoDB 中 Batch 讀取和寫入項目

JavaScript code example that applies to Node.js execution

這個 Node.js 程式碼範例會說明:

  • 如何讀取和寫入 DynamoDB 表中的批次項目。

使用案例

在此範例中,您可以使用一系列 Node.js 模組將一批項目放入 DynamoDB 表格中,並讀取一批項目。程式碼使用 SDK 執行批次讀取和寫入作業,使用 DynamoDB 用戶端類別的下列方法: JavaScript

先決條件任務

若要設定和執行此範例,請先完成這些任務:

批次讀取項目

以檔名 ddb_batchgetitem.js 建立一個 Node.js 模組。請務必依前述的內容來設定軟體開發套件。若要存取 DynamoDB,請建立AWS.DynamoDB服務物件。建立 JSON 物件,其包含取得項目批次所需的參數,在此範例中包括要讀取的一或多個資料表、要在每個資料表中讀取的索引鍵值以及會指定要傳回屬性的投射表達式。呼叫 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。

批次寫入項目

以檔名 ddb_batchwriteitem.js 建立一個 Node.js 模組。請務必依前述的內容來設定軟體開發套件。若要存取 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。