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

Amazon SDK for JavaScriptV3 API 参考指南详细描述了 Amazon SDK for JavaScript 版本 3 (V3) 的所有 API 操作。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 DynamoDB 中创建和使用表

JavaScript code example that applies to Node.js execution

此 Node.js 代码示例演示:

  • 如何创建和管理用于存储及从 DynamoDB 检索数据的表。

情景

类似于其他数据库系统,DynamoDB 将数据存储在表中。DynamoDB 表是数据的集合,这些数据按照类似于行的项目来排列。要在 DynamoDB 中存储或访问数据,您需要创建并使用表。

在本示例中,您使用一系列 Node.js 模块对 DynamoDB 表执行基本操作。该代码使用 SDK for JavaScript,通过 DynamoDB 客户端类的下列方法来创建和处理表:

完成先决条件任务

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

  • 设置项目环境以运行这些 Node.js 示例,并安装所需的 Amazon SDK for JavaScript 和第三方模块。请按照 GitHub 上的说明进行操作。

  • 安装 SDK for JavaScript DynamoDB 客户端。有关更多信息,请参阅版本 3 中的新增功能

  • 使用用户凭证创建共享配置文件。有关提供共享凭证文件的更多信息,请参阅《Amazon SDK 和工具参考指南》中的共享配置和凭证文件

重要

这些示例使用 ECMAScript6 (ES6)。这需要使用 Node.js 版本 13.x 或更高版本。要下载并安装最新版本的 Node.js,请参阅 Node.js 下载

但是,如果您更喜欢使用 CommonJS 语法,请参阅 JavaScript ES6/CommonJS 语法

注意

有关这些示例中使用的数据类型的信息,请参阅 Amazon DynamoDB 中支持的数据类型和命名规则

创建表

创建文件名为 create-table.js 的 Node.js 模块。请务必如前所示配置 SDK,包括下载所需的客户端和软件包。要访问 DynamoDB,请创建一个 DynamoDB 客户端服务对象。创建一个 JSON 对象,其中包含创建表所需的参数,在本示例中包括各个属性的名称和数据类型、关键架构、表的名称以及要预配置的吞吐量单位。调用 DynamoDB 服务对象的 CreateTableCommand 方法。

import { CreateTableCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new CreateTableCommand({ TableName: "EspressoDrinks", // For more information about data types, // see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes and // https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.DataTypeDescriptors AttributeDefinitions: [ { AttributeName: "DrinkName", AttributeType: "S", }, ], KeySchema: [ { AttributeName: "DrinkName", KeyType: "HASH", }, ], ProvisionedThroughput: { ReadCapacityUnits: 1, WriteCapacityUnits: 1, }, }); const response = await client.send(command); console.log(response); return response; };

要运行示例,请在命令提示符中键入以下内容。

node create-table.js

此示例代码可在 GitHub 上的此处找到。

列出表

创建文件名为 list-tables.js 的 Node.js 模块。请务必如前所示配置 SDK,包括下载所需的客户端和软件包。要访问 DynamoDB,请创建一个 DynamoDB 客户端服务对象。创建一个 JSON 对象,其中包含列出表所需的参数,在此示例中将列出的表数量限制为 10。调用 DynamoDB 服务对象的 ListTablesCommand 方法。

import { ListTablesCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new ListTablesCommand({}); const response = await client.send(command); console.log(response); return response; };

要运行示例,请在命令提示符中键入以下内容。

node list-tables.js

此示例代码可在 GitHub 上的此处找到。

描述表

创建文件名为 describe-table.js 的 Node.js 模块。请务必如前所示配置 SDK,包括下载所需的客户端和软件包。要访问 DynamoDB,请创建一个 DynamoDB 客户端服务对象。创建一个 JSON 对象,其中包含描述 DynamoDB 服务对象的 DescribeTableCommand 方法所需的参数。

import { DescribeTableCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new DescribeTableCommand({ TableName: "Pastries", }); const response = await client.send(command); console.log(`TABLE NAME: ${response.Table.TableName}`); console.log(`TABLE ITEM COUNT: ${response.Table.ItemCount}`); return response; };

要运行示例,请在命令提示符中键入以下内容。

node describe-table.js

此示例代码可在 GitHub 上的此处找到。

删除表

创建文件名为 delete-table.js 的 Node.js 模块。请务必如前所示配置 SDK,包括下载所需的客户端和软件包。要访问 DynamoDB,请创建一个 DynamoDB 客户端服务对象。创建一个 JSON 对象,其中包含删除表所需的参数,在此示例中包括提供作为命令行参数的表的名称。调用 DynamoDB 服务对象的 DeleteTableCommand 方法。

import { DeleteTableCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new DeleteTableCommand({ TableName: "DecafCoffees", }); const response = await client.send(command); console.log(response); return response; };

要运行示例,请在命令提示符中键入以下内容。

node delete-table.js

此示例代码可在 GitHub 上的此处找到。