在 DynamoDB 中批量读取和写入项目 - Amazon SDK for JavaScript
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

我们已宣布即将终止对 Amazon SDK for JavaScript v2 的支持。建议您迁移到 Amazon SDK for JavaScript v3。有关日期、其他详细信息以及如何迁移的信息,请参阅链接的公告。

在 DynamoDB 中批量读取和写入项目

JavaScript code example that applies to Node.js execution

此 Node.js 代码示例演示:

  • 如何在 DynamoDB 表中批量读取和写入项目。

情景

在本示例中,您使用一系列 Node.js 模块在 DynamoDB 表中批量放置项目以及批量读取项目。代码使用 SDK for JavaScript,通过 DynamoDB 客户端类的以下方法来执行批量读取和写入操作:

先决条件任务

要设置和运行此示例,请先完成以下任务:

批量读取项目

创建文件名为 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 上的此处找到。