Amazon SDK for JavaScript V3 API 参考指南详细描述了 Amazon SDK for JavaScript 版本 3 (V3) 的所有 API 操作。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 DynamoDB 中读取和写入单个项目
此 Node.js 代码示例演示:
如何在 DynamoDB 表中添加项目。
如何在 DynamoDB 表中检索项目。
如何从 DynamoDB 表中删除项目。
情景
在本示例中,您使用一系列 Node.js 模块,通过 DynamoDB
客户端类的以下方法,在 DynamoDB 表中读取和写入一个项目:
完成先决条件任务
要设置和运行此示例,请先完成以下任务:
-
设置项目环境以运行这些 Node.js 示例,并安装所需的模块 Amazon SDK for JavaScript 和第三方模块。按照上的说明进行操作 GitHub
。 使用用户凭证创建共享配置文件。有关提供共享凭证文件的更多信息,请参阅《Amazon SDK 和工具参考指南》中的共享配置和凭证文件。
创建一个可访问其项目的 DynamoDB 表。有关创建 DynamoDB 表的更多信息,请参阅在 DynamoDB 中创建和使用表。
重要
这些示例使用 ECMAScript6 (ES6)。这需要使用 Node.js 版本 13.x 或更高版本。要下载并安装最新版本的 Node.js,请参阅 Node.js 下载
但是,如果您更喜欢使用 CommonJS 语法,请参阅 JavaScript ES6/CommonJS 语法。
注意
有关这些示例中使用的数据类型的信息,请参阅 Amazon DynamoDB 中支持的数据类型和命名规则。
写入项目
创建文件名为 put-item.js
的 Node.js 模块。请务必如前所示配置 SDK,包括下载所需的客户端和软件包。要访问 DynamoDB,请创建一个 DynamoDB
客户端服务对象。创建一个 JSON 对象,其中包含添加项目所需的参数,在本示例中包括表的名称,定义要设置的属性的映射,以及各个属性的值。调用 DynamoDB 客户端服务对象的 PutItemCommand
方法。
import { PutItemCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new PutItemCommand({ TableName: "Cookies", // 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 Item: { Flavor: { S: "Chocolate Chip" }, Variants: { SS: ["White Chocolate Chip", "Chocolate Chunk"] }, }, }); const response = await client.send(command); console.log(response); return response; };
要运行示例,请在命令提示符中键入以下内容。
node put-item.js
可以在此处找到此
更新项目
创建文件名为 update-item.js
的 Node.js 模块。请务必如前所示配置 SDK,包括下载所需的客户端和软件包。要访问 DynamoDB,请创建一个 DynamoDB
客户端服务对象。创建一个 JSON 对象,其中包含添加项目所需的参数,在本示例中包括表的名称、要更新的密钥、与新属性名称对应的日期表达式以及各个新属性的值。调用 DynamoDB 客户端服务对象的 UpdateItemCommand
方法。
import { UpdateItemCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new UpdateItemCommand({ TableName: "IceCreams", // 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 Key: { Flavor: { S: "Vanilla" }, }, UpdateExpression: "set HasChunks = :chunks", ExpressionAttributeValues: { ":chunks": { BOOL: "false" }, }, ReturnValues: "ALL_NEW", }); const response = await client.send(command); console.log(response); return response; };
要运行示例,请在命令提示符中键入以下内容。
node update-item.js
可以在此处找到此
获取项目
创建文件名为 get-item.js
的 Node.js 模块。请务必如前所示配置 SDK,包括下载所需的客户端和软件包。要访问 DynamoDB,请创建一个 DynamoDB
客户端服务对象。要标识所需获取的项目,您必须提供该项目在表中主键的值。默认情况下,GetItemCommand
方法返回为项目定义的所有属性值。要仅获取所有可能属性值的子集,请指定投影表达式。
创建一个 JSON 对象,其中包含获取某个项目所需的参数,在本示例中包括表的名称,所获取项目的键的值,以及确定要检索的项目属性的投影表达式。调用 DynamoDB 客户端服务对象的 GetItemCommand
方法。
以下代码示例从表中检索一个项目,其主键仅由分区键组成,而不是由分区和排序键组成。如果表的主键由分区键和排序键组成,则还必须指定排序键的名称和属性。
import { GetItemCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new GetItemCommand({ TableName: "CafeTreats", // 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 Key: { TreatId: { N: "101" }, }, }); const response = await client.send(command); console.log(response); return response; };
要运行示例,请在命令提示符中键入以下内容。
node get-item.js
可以在此处找到此
删除项目
创建文件名为 delete-item.js
的 Node.js 模块。请务必如前所示配置 SDK,包括下载所需的客户端和软件包。要访问 DynamoDB,请创建一个 DynamoDB
客户端服务对象。创建一个 JSON 对象,其中包含删除项目所需的参数,在本示例中包括表的名称,以及所删除的项目的键名和值。调用 DynamoDB 客户端服务对象的 DeleteItemCommand
方法。
import { DeleteItemCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new DeleteItemCommand({ TableName: "Drinks", // 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 Key: { Name: { S: "Pumpkin Spice Latte" }, }, }); const response = await client.send(command); console.log(response); return response; };
要运行示例,请在命令提示符中键入以下内容。
node delete-item.js
可以在此处找到此