

# 访问 DynamoDB
<a name="AccessingDynamoDB"></a>

 您可以使用 Amazon Web Services 管理控制台、Amazon Command Line Interface (Amazon CLI) 或 DynamoDB API 访问 Amazon DynamoDB。

**Topics**
+ [使用控制台](#ConsoleDynamoDB)
+ [使用 Amazon CLI](#Tools.CLI)
+ [使用 API](#Using.API)
+ [使用 NoSQL Workbench for DynamoDB](#Using.Workbench)
+ [IP 地址范围](#Using.IPRanges)

## 使用控制台
<a name="ConsoleDynamoDB"></a>

您可以访问 Amazon Web Services 管理控制台了解 Amazon DynamoDB，地址为 [https://console.aws.amazon.com/dynamodb/home](https://console.amazonaws.cn/dynamodb/home)。

以下是您可以在 DynamoDB 控制台中执行的一些操作：
+ **管理表**：创建、更新和删除表。容量计算器可以帮助估算容量需求。
+ **与数据交互**：查看、添加、更新和删除表中的项目。管理生存时间（TTL）设置。
+ **监控和分析**：查看仪表板、监控和设置警报，以及分析 DynamoDB 表的指标和警报。
+ **优化和扩展**：管理二级索引、流、触发器、预留容量和其他高级功能，以提高 DynamoDB 的使用率。

DynamoDB 控制台提供一个用于管理 DynamoDB 资源的综合界面。我们鼓励您访问该控制台并与之互动，以了解更多信息。

## 使用 Amazon CLI
<a name="Tools.CLI"></a>

 您可以使用 Amazon Command Line Interface (Amazon CLI) 从命令行管理多个 Amazon 服务并通过脚本自动执行这些服务。您可以使用 Amazon CLI 执行临时操作，如创建表。您还可以使用它在实用工具脚本中嵌入 Amazon DynamoDB 操作。

 您必须先获取访问密钥 ID 和秘密访问密钥，然后才能将 Amazon CLI 与 DynamoDB 结合使用。有关更多信息，请参阅 [授权以编程方式访问](SettingUp.DynamoWebService.md#SettingUp.DynamoWebService.GetCredentials)。

有关 Amazon CLI 中 DynamoDB 所有可用命令的完整列表，请参阅 [Amazon CLI 命令参考](https://docs.amazonaws.cn/cli/latest/reference/dynamodb/index.html)。

**Topics**

### 下载和配置 Amazon CLI
<a name="Tools.CLI.DownloadingAndRunning"></a>

[http://aws.amazon.com/cli](https://www.amazonaws.cn/cli) 提供 Amazon CLI。它在 Windows、macOS 或 Linux 上运行。下载 Amazon CLI 后，可执行以下步骤安装和配置：

1. 转到 [Amazon Command Line Interface 用户指南](https://docs.amazonaws.cn/cli/latest/userguide/)。

1. 按照[安装 Amazon CLI](https://docs.amazonaws.cn/cli/latest/userguide/installing.html) 和[配置 Amazon CLI](https://docs.amazonaws.cn/cli/latest/userguide/cli-chap-getting-started.html) 的说明操作。

### 将 Amazon CLI 与 DynamoDB 结合使用
<a name="Tools.CLI.UsingWithDDB"></a>

命令行格式包含 DynamoDB 操作名称，后跟该操作的参数。Amazon CLI 支持参数值的速记语法以及 JSON。

例如，以下命令可创建一个名为 *Music* 的表。分区键为 *Artist*，排序键为 *SongTitle*。（为便于阅读，本部分中的长命令分行显示。）

```
aws dynamodb create-table \
    --table-name Music \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \
    --billing-mode PAY_PER_REQUEST \
    --table-class STANDARD
```

以下命令可将新项目添加到表。这些示例使用速记语法和 JSON 的组合。

```
aws dynamodb put-item \
    --table-name Music \
    --item \
        '{"Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Somewhat Famous"}}' \
    --return-consumed-capacity TOTAL

aws dynamodb put-item \
    --table-name Music \
    --item '{
        "Artist": {"S": "Acme Band"},
        "SongTitle": {"S": "Happy Day"},
        "AlbumTitle": {"S": "Songs About Life"} }' \
    --return-consumed-capacity TOTAL
```

在命令行上，难以编写有效的 JSON。然而，Amazon CLI 可以读取 JSON 文件。例如，请考虑以下 JSON 代码段，它存储在一个名为 *key-conditions.json* 的文件中。

```
{
    "Artist": {
        "AttributeValueList": [
            {
                "S": "No One You Know"
            }
        ],
        "ComparisonOperator": "EQ"
    },
    "SongTitle": {
        "AttributeValueList": [
            {
                "S": "Call Me Today"
            }
        ],
        "ComparisonOperator": "EQ"
    }
}
```

您现在可以使用 Amazon CLI 发出 `Query` 请求。在该示例中，*key-conditions.json* 文件的内容用于 `--key-conditions` 参数。

```
aws dynamodb query --table-name Music --key-conditions file://key-conditions.json
```

### 将 Amazon CLI 与 DynamoDB local 结合使用
<a name="Tools.CLI.UsingWithDDBLocal"></a>

Amazon CLI 也可与在您的计算机上运行的 DynamoDB local（可下载版本）交互。要启用此功能，请向每个命令添加以下参数：

`--endpoint-url http://localhost:8000`

下面的示例使用 Amazon CLI 列出本地数据库中的表。

```
aws dynamodb list-tables --endpoint-url http://localhost:8000
```

如果 DynamoDB 使用的端口号不是默认值 (8000)，请相应修改 `--endpoint-url` 值。

**注意**  
Amazon CLI 无法将可下载版本的 DynamoDB local 作为默认端点。因此，您必须对每个命令指定 `--endpoint-url`。

## 使用 API
<a name="Using.API"></a>

 您可以使用 Amazon Web Services 管理控制台 和 Amazon Command Line Interface 以便与 Amazon DynamoDB 交互式协作。但是，要充分利用 DynamoDB，您可以使用 Amazon SDK 编写应用程序代码。

Amazon SDK 采用 [Java](https://www.amazonaws.cn/sdk-for-java)、[浏览器 JavaScript](https://www.amazonaws.cn/sdk-for-browser)、[.NET](https://www.amazonaws.cn/sdk-for-net)、[Node.js](https://www.amazonaws.cn/sdk-for-node-js)、[PHP](https://www.amazonaws.cn/sdk-for-php)、[Python](https://www.amazonaws.cn/sdk-for-python)、[Ruby](https://www.amazonaws.cn/sdk-for-ruby)、[C\$1\$1](https://www.amazonaws.cn/sdk-for-cpp)、[Go](https://www.amazonaws.cn/sdk-for-go)、[Android](https://www.amazonaws.cn/mobile/sdk/) 和 [iOS](https://www.amazonaws.cn/mobile/sdk/) 语言，为 DynamoDB 提供广泛支持。

您必须先获取 Amazon 访问密钥 ID 和秘密访问密钥，然后才能将 Amazon SDK 与 DynamoDB 结合使用。有关更多信息，请参阅 [设置 DynamoDB（Web 服务）](SettingUp.DynamoWebService.md)。

 有关使用 Amazon SDK 进行 DynamoDB 应用程序编程的高度概述，请参阅 [使用 DynamoDB 和 Amazon SDK 编程](Programming.md)。

## 使用 NoSQL Workbench for DynamoDB
<a name="Using.Workbench"></a>

您也可以通过下载和使用 [NoSQL Workbench for DynamoDB](workbench.md) 访问 DynamoDB。

NoSQL Workbench for Amazon DynamoDB 是一个跨平台的客户端 GUI 应用程序，可用于现代数据库开发和运营。它适用于 Windows、macOS 和 Linux 系统。NoSQL Workbench 是一个可视化开发工具，提供数据建模、数据可视化和查询开发功能，可帮助您设计、创建、查询和管理 DynamoDB 表。NoSQL Workbench 现在将 DynamoDB local 作为安装过程的一个可选部分，这使得在 DynamoDB local 中进行数据建模更容易。要了解 DynamoDB local 及其要求的更多信息，请参阅[设置 DynamoDB local（可下载版本）](DynamoDBLocal.md)。

**注意**  
适用于 DynamoDB 的 NoSQL Workbench 目前不支持使用双重身份验证（2FA）配置的 Amazon 登录名。

**数据建模**  
通过 NoSQL Workbench for DynamoDB，您可以构建新数据模型，或根据现有模型设计符合应用程序数据访问模式的模型。您还可以在过程结束时导入和导出设计的数据模型。有关更多信息，请参阅 [使用 NoSQL Workbench 构建数据模型](workbench.Modeler.md)。

**操作生成**  
NoSQL Workbench 为开发和测试查询提供了一个丰富的图形用户界面。您可以使用*操作生成器*来查看、浏览和查询实时数据集。此外，还可以使用结构化操作生成器生成和执行数据层面操作。它支持投影和条件表达式，并允许您使用多种语言生成示例代码。有关更多信息，请参阅 [使用 NoSQL Workbench 浏览数据集和生成操作](workbench.querybuilder.md)。

## IP 地址范围
<a name="Using.IPRanges"></a>

Amazon Web Services (Amazon) 以 JSON 格式发布其当前 IP 地址范围。要查看当前范围，请下载 [ip-ranges.json](https://ip-ranges.amazonaws.com/ip-ranges.json)。有关更多信息，请参阅《Amazon Web Services 一般参考》中的 [Amazon IP 地址范围](https://docs.amazonaws.cn/general/latest/gr/aws-ip-ranges.html)。

要查找可用于[访问 DynamoDB 表和索引](https://docs.amazonaws.cn/amazondynamodb/latest/APIReference/API_Operations_Amazon_DynamoDB.html)的 IP 地址范围，请在 ip-ranges.json 文件中搜索以下字符串：`"service": "DYNAMODB"`。

**注意**  
IP 地址范围不适用于 DynamoDB Streams 或 DynamoDB Accelerator (DAX)。