

适用于 JavaScript 的 AWS SDK v2 已终止支持。建议您迁移到 [适用于 JavaScript 的 AWS SDK v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/)。有关更多详情和如何迁移的信息，请参阅本[公告](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)。

# 在 DynamoDB 中读取和写入单个项目
<a name="dynamodb-example-table-read-write"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/zh_cn/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**此 Node.js 代码示例演示：**
+ 如何在 DynamoDB 表中添加项目。
+ 如何在 DynamoDB 表中检索项目。
+ 如何从 DynamoDB 表中删除项目。

## 情景
<a name="dynamodb-example-table-read-write-scenario"></a>

在本示例中，您使用一系列 Node.js 模块，通过 `AWS.DynamoDB` 客户端类的以下方法，在 DynamoDB 表中读取和写入一个项目：
+ [putItem](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#putItem-property)
+ [getItem](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#getItem-property)
+ [deleteItem](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#deleteItem-property)

## 先决条件任务
<a name="dynamodb-example-table-read-write-prerequisites"></a>

要设置和运行此示例，请先完成以下任务：
+ 安装 Node.js。有关更多信息，请参阅 [Node.js](https://nodejs.org) 网站。
+ 使用用户凭证创建共享配置文件。有关提供共享凭证文件的更多信息，请参阅[从共享凭证文件加载 Node.js 中的凭证](loading-node-credentials-shared.md)。
+ 创建一个您可以访问其项目的 DynamoDB 表。有关创建 DynamoDB 表的更多信息，请参阅[在 DynamoDB 中创建和使用表](dynamodb-examples-using-tables.md)。

## 写入项目
<a name="dynamodb-example-table-read-write-writing-an-item"></a>

创建文件名为 `ddb_putitem.js` 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 DynamoDB，请创建一个 `AWS.DynamoDB` 服务对象。创建一个 JSON 对象，其中包含添加项目所需的参数，在本示例中包括表的名称，定义要设置的属性的映射，以及各个属性的值。调用 DynamoDB 服务对象的 `putItem` 方法。

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the DynamoDB service object
var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" });

var params = {
  TableName: "CUSTOMER_LIST",
  Item: {
    CUSTOMER_ID: { N: "001" },
    CUSTOMER_NAME: { S: "Richard Roe" },
  },
};

// Call DynamoDB to add the item to the table
ddb.putItem(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

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

```
node ddb_putitem.js
```

此示例代码可在 [GitHub 上的此处](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/dynamodb/ddb_putitem.js)找到。

## 获取项目
<a name="dynamodb-example-table-read-write-getting-an-item"></a>

创建文件名为 `ddb_getitem.js` 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 DynamoDB，请创建一个 `AWS.DynamoDB` 服务对象。要标识所需获取的项目，您必须提供该项目在表中主键的值。默认情况下，`getItem` 方法返回为项目定义的所有属性值。要仅获取所有可能属性值的子集，请指定投影表达式。

创建一个 JSON 对象，其中包含获取某个项目所需的参数，在本示例中包括表的名称，所获取项目的键的值，以及确定要检索的项目属性的投影表达式。调用 DynamoDB 服务对象的 `getItem` 方法。

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the DynamoDB service object
var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" });

var params = {
  TableName: "TABLE",
  Key: {
    KEY_NAME: { N: "001" },
  },
  ProjectionExpression: "ATTRIBUTE_NAME",
};

// Call DynamoDB to read the item from the table
ddb.getItem(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.Item);
  }
});
```

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

```
node ddb_getitem.js
```

此示例代码可在 [GitHub 上的此处](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/dynamodb/ddb_getitem.js)找到。

## 删除项目
<a name="dynamodb-example-table-read-write-deleting-an-item"></a>

创建文件名为 `ddb_deleteitem.js` 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 DynamoDB，请创建一个 `AWS.DynamoDB` 服务对象。创建一个 JSON 对象，其中包含删除项目所需的参数，在本示例中包括表的名称，以及所删除的项目的键名和值。调用 DynamoDB 服务对象的 `deleteItem` 方法。

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the DynamoDB service object
var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" });

var params = {
  TableName: "TABLE",
  Key: {
    KEY_NAME: { N: "VALUE" },
  },
};

// Call DynamoDB to delete the item from the table
ddb.deleteItem(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

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

```
node ddb_deleteitem.js
```

此示例代码可在 [GitHub 上的此处](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/dynamodb/ddb_deleteitem.js)找到。