

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

# 将 NoSQL Workbench 与 Amazon Keyspaces（Apache Cassandra 兼容）结合使用
<a name="workbench"></a>

NoSQL Workbench 是一款客户端应用程序，可帮助您更轻松地设计和可视化用于 Amazon Keyspaces 的非关系数据模型。NoSQL Workbench 客户端可用于 Windows、macOS 和 Linux。

**设计数据模型并自动创建资源**  
NoSQL Workbench 为您提供了设计和创建 Amazon Keyspaces 数据模型的 point-and-click接口。通过定义键空间、表和列，您可以轻松地从头开始创建新的数据模型。您还可以导入现有数据模型并进行修改（例如添加、编辑或删除列），以使数据模型适应新的应用程序。然后，NoSQL Workbench 允许您向 Amazon Keyspaces 或 Apache Cassandra 提交数据模型，并自动创建键空间和表。要了解如何构建数据模型，请参阅[使用 NoSQL Workbench 创建新的数据模型](workbench.datamodel.new.md)和[使用 NoSQL Workbench 编辑现有数据模型](workbench.datamodel.edit.md)。

**可视化数据模型**  
使用 NoSQL Workbench，您可以对数据模型进行可视化，以帮助确保数据模型能够支持应用程序的查询和访问模式。您还可以以各种格式保存和导出数据模型，用于协作、文档和演示。有关更多信息，请参阅 [使用 NoSQL Workbench 可视化数据模型](workbench.vizualizer.md)。

**Topics**
+ [下载 NoSQL Workbench](workbench.settingup.md)
+ [开始使用 NoSQL Workbench](workbench.start.md)
+ [使用 NoSQL Workbench 可视化数据模型](workbench.vizualizer.md)
+ [使用 NoSQL Workbench 创建新的数据模型](workbench.datamodel.new.md)
+ [使用 NoSQL Workbench 编辑现有数据模型](workbench.datamodel.edit.md)
+ [如何向 Amazon Keyspaces 和 Apache Cassandra 提交数据模型](workbench.commit.md)
+ [NoSQL Workbench 中的示例数据模型](workbench.SampleModels.md)
+ [NoSQL Workbench 的发布历史记录](WorkbenchDocumentHistory.md)

# 下载 NoSQL Workbench
<a name="workbench.settingup"></a>

请按照以下说明下载并安装 NoSQL Workbench。

**下载并安装 NoSQL Workbench**

1. 使用以下其中一个链接免费下载 NoSQL Workbench。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/workbench.settingup.html)

   \$1 NoSQL Workbench 支持 Ubuntu 12.04、Fedora 21 和 Debian 8 或这些 Linux 发行版的任何较新版本。

1. 下载完成后，启动应用程序并按照屏幕上的说明完成安装。

# 开始使用 NoSQL Workbench
<a name="workbench.start"></a>

要开始使用 NoSQL Workbench，请在 NoSQL Workbench 的数据库目录页面上选择 Amazon Keyspaces，然后选择**启动**。

![\[显示 NoSQL Workbench 起始页的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/images/workbench/key_nosql_welcome.png)


这将打开适用于 Amazon Keyspaces 的 NoSQL Workbench 主页，您可以从中开始使用以下选项：

1. 创建新数据模型。

1. 以 JSON 格式导入现有的数据模型。

1. 打开最近编辑的数据模型。

1. 打开其中一个可用的示例模型。

![\[显示数据建模工具起始页的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/images/workbench/key_nosql_datamodel.png)


每个选项都会打开 NoSQL Workbench 数据建模工具。要继续创建新的数据模型，请参阅 [使用 NoSQL Workbench 创建新的数据模型](workbench.datamodel.new.md)。要编辑现有数据模型，请参阅 [使用 NoSQL Workbench 编辑现有数据模型](workbench.datamodel.edit.md)。

# 使用 NoSQL Workbench 可视化数据模型
<a name="workbench.vizualizer"></a>

使用 NoSQL Workbench，您可以对数据模型进行可视化，以帮助确保数据模型能够支持应用程序的查询和访问模式。您还可以以各种格式保存和导出数据模型，用于协作、文档和演示。

创建新数据模型或编辑现有数据模型后，可以对模型进行可视化。

## 使用 NoSQL Workbench 可视化数据模型
<a name="workbench.datamodel.visualize"></a>

在数据建模工具中完成数据建模后，选择**可视化数据模型**。

![\[显示示例数据模型的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/images/workbench/key_nosql_visualize.png)


这会将您带到 NoSQL Workbench 中的数据可视化工具。数据可视化工具提供表架构的可视化表示，并允许您添加示例数据。要向表中添加样本数据，请从模型中选择一个表，然后选择**编辑**。要添加一行新数据，请选择屏幕底部的**添加新行**。完成此操作后，选择 **Save**。

![\[显示如何向表中添加数据的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/images/workbench/key_nosql_adddata.png)


## 聚合视图
<a name="workbench.visualizer.aggregate"></a>

确认表的架构后，您可以聚合数据模型的可视化效果。

![\[显示聚合视图的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/images/workbench/key_nosql_aggview.png)


聚合数据模型视图后，可以将视图导出为 PNG 文件。要将数据模型导出到 JSON 文件，请选择数据模型名称下方的上传标志。

**注意**  
在设计过程中，您可以随时以 JSON 格式导出数据模型。

![\[显示数据模型导出和提交选项的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/images/workbench/key_nosql_aggview2.png)


您可以通过以下几种方式提交更改：
+ 提交至 Amazon Keyspaces
+ 提交到 Apache Cassandra 集群

要详细了解如何提交更改，请参阅 [如何向 Amazon Keyspaces 和 Apache Cassandra 提交数据模型](workbench.commit.md)。

# 使用 NoSQL Workbench 创建新的数据模型
<a name="workbench.datamodel.new"></a>

您可以根据应用程序的数据访问模式，使用 NoSQL Workbench 数据建模工具设计新的数据模型。要为 Amazon Keyspaces 创建新的数据模型，您可以使用 NoSQL Workbench 数据建模器工具来创建键空间、表和列。按照以下步骤创建新的数据模型。

1. 要创建新的键空间，请选择**键空间**下的加号。

    在此步骤中，选择以下属性和设置。
   + **键空间名称**：输入新键空间的名称。
   + **复制策略**：为键空间选择复制策略。Amazon Keyspaces 使用在多个 AWS 可用区中自动复制三次数据。**SingleRegionStrategy**如果您计划将数据模型提交到 Apache Cassandra 集群，则可以选择**SimpleStrategy**或。**NetworkTopologyStrategy**
   + **键空间标签**：资源标签是可选的，并且允许您按各种方法对资源进行分类，例如，按用途、所有者、环境或其他标准。要了解有关 Amazon Keyspaces 资源标签的更多信息，请参阅 [对 Amazon Keyspaces 资源使用标签和标注](tagging-keyspaces.md)。

1. 选择**添加键空间定义**以创建键空间。  
![\[显示如何创建键空间的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/images/workbench/key_nosql_addkey.png)

1. 要创建新表，请选择**表**旁边的加号。在此步骤中，您将定义以下属性和设置。
   + **表名称**：新表的名称。
   + **列**：添加列名并选择数据类型。对架构中的每一列重复这些步骤。
   + **分区键**：为分区键选择列。
   + **集群列**：选择集群列（可选）。
   + **容量模式**：选择表的读/写容量模式。您可以选择已预置或按需容量。要了解有关容量模式的更多信息，请参阅 [在 Amazon Keyspaces 中配置 read/write 容量模式](ReadWriteCapacityMode.md)。
   + **表标签**：资源标签是可选的，并且允许您按各种方法对资源进行分类，例如，按用途、所有者、环境或其他标准。要了解有关 Amazon Keyspaces 资源标签的更多信息，请参阅 [对 Amazon Keyspaces 资源使用标签和标注](tagging-keyspaces.md)。

1. 选择**添加表定义**以创建新表。

1. 重复这些步骤以创建更多表。

1. 继续[使用 NoSQL Workbench 可视化数据模型](workbench.vizualizer.md#workbench.datamodel.visualize)，可视化您创建的数据模型。

![\[显示如何创建新表的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/images/workbench/key_nosql_tableadd.png)


# 使用 NoSQL Workbench 编辑现有数据模型
<a name="workbench.datamodel.edit"></a>

您可以使用数据建模工具导入和修改使用 NoSQL Workbench 创建的现有数据模型。数据建模工具包含一些示例数据模型，可帮助您快速开始数据建模。您可以使用 NoSQL Workbench 编辑的这些数据模型可以是从文件导入的数据模型、提供的样本数据模型或您之前创建的数据模型。

1. 要编辑键空间，请在**键空间**下选择编辑符号。

    在此步骤中，您将编辑以下属性和设置。
   + **键空间名称**：输入新键空间的名称。
   + **复制策略**：为键空间选择复制策略。Amazon Keyspaces 使用在多个 AWS 可用区中自动复制三次数据。**SingleRegionStrategy**如果您计划将数据模型提交到 Apache Cassandra 集群，则可以选择**SimpleStrategy**或。**NetworkTopologyStrategy**
   + **键空间标签**：资源标签是可选的，并且允许您按各种方法对资源进行分类，例如，按用途、所有者、环境或其他标准。要了解有关 Amazon Keyspaces 资源标签的更多信息，请参阅 [对 Amazon Keyspaces 资源使用标签和标注](tagging-keyspaces.md)。

1. 选择**保存编辑内容**以更新键空间。  
![\[显示如何编辑现有表的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/images/workbench/key_nosql_table.png)

1. 要编辑表，请选择表名称旁边的**编辑**。在此步骤中，您可以更新以下属性和设置。
   + **表名称**：新表的名称。
   + **列**：添加列名并选择数据类型。对架构中的每一列重复这些步骤。
   + **分区键**：为分区键选择列。
   + **集群列**：选择集群列（可选）。
   + **容量模式**：选择表的读/写容量模式。您可以选择已预置或按需容量。要了解有关容量模式的更多信息，请参阅 [在 Amazon Keyspaces 中配置 read/write 容量模式](ReadWriteCapacityMode.md)。
   + **表标签**：资源标签是可选的，并且允许您按各种方法对资源进行分类，例如，按用途、所有者、环境或其他标准。要了解有关 Amazon Keyspaces 资源标签的更多信息，请参阅 [对 Amazon Keyspaces 资源使用标签和标注](tagging-keyspaces.md)。

1. 选择**保存编辑内容**以更新表。

1. 继续[使用 NoSQL Workbench 可视化数据模型](workbench.vizualizer.md#workbench.datamodel.visualize)，可视化您更新的数据模型。

# 如何向 Amazon Keyspaces 和 Apache Cassandra 提交数据模型
<a name="workbench.commit"></a>

本节说明了如何将完成的数据模型提交到 Amazon Keyspache 和 Apache Cassandra 集群。此过程会根据您在数据模型中定义的设置自动为键空间和表创建服务器端资源。

![\[显示提交选项的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/images/workbench/key_nosql_commit.png)


**Topics**
+ [开始前的准备工作](#workbench.commit.preqequ)
+ [使用服务特定凭证连接 Amazon Keyspaces](workbench.commit.ssc.md)
+ [使用 AWS Identity and Access Management (IAM) 证书连接到 Amazon Keyspaces](workbench.commit.iam.md)
+ [使用已保存的连接](workbench.commit.default.md)
+ [提交到 Apache Cassandra](workbench.commit.cassandra.md)

## 开始前的准备工作
<a name="workbench.commit.preqequ"></a>

Amazon Keyspaces 要求使用传输层安全性协议 (TLS) 来帮助保护与客户端的连接。要使用 TLS 连接到 Amazon Keyspaces，您需要先完成以下任务。
+  下载以下数字证书并将文件保存在本地或您的主目录中。

  1. AmazonRootCA1

  1. AmazonRootCA2

  1. AmazonRootCA3

  1. AmazonRootCA4

  1. Starfield Class 2 Root（可选 — 为了向后兼容）

  要下载证书，您可以使用以下命令。

  ```
  curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
  curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
  curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
  curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
  curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
  ```
**注意**  
Amazon Keyspaces 之前使用锚定在 Starfield Class 2 CA 上的 TLS 证书。 AWS 正在将所有证书全部迁移 AWS 区域 到根据亚马逊信任服务（Amazon Root CAs 1—4）颁发的证书。在此过渡期间，将客户端配置为同时信任 Amazon Root CAs 1—4 和 Starfield 根，以确保所有区域之间的兼容性。

  将所有下载的证书合并到一个`pem`文件中，其名称与我们的示例*keyspaces-bundle.pem*中的名称相同。您可以使用以下 命令进行这项操作：记下文件的路径，稍后需要这个。

  ```
  cat AmazonRootCA1.pem \
   AmazonRootCA2.pem \
   AmazonRootCA3.pem \
   AmazonRootCA4.pem \
   sf-class2-root.crt \
   > keyspaces-bundle.pem
  ```

保存证书文件后，您可以连接到 Amazon Keyspaces。一种选择是使用服务特定凭证进行连接。服务特定凭证是与特定 IAM 用户关联的用户名和密码，并且只能用于指定的服务。第二种选择是使用 [AWS 签名版本 4 流程 (Sigv4)](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) 的 IAM 证书进行连接。要了解有关这两种选择的更多信息，请参阅 [创建用于通过编程方式访问 Amazon Keyspaces 的凭证。](programmatic.credentials.md)。

要使用服务特定凭证进行连接，请参阅[使用服务特定凭证连接 Amazon Keyspaces](workbench.commit.ssc.md)。

要使用 IAM 凭证进行连接，请参阅[使用 AWS Identity and Access Management (IAM) 证书连接到 Amazon Keyspaces](workbench.commit.iam.md)。

# 使用服务特定凭证连接 Amazon Keyspaces
<a name="workbench.commit.ssc"></a>

本节介绍如何使用服务特定凭证提交您使用 NoSQL Workbench 创建或编辑的数据模型。

1. 要使用服务特定凭证创建新连接，请选择**使用用户名和密码连接**选项卡。

   1. 开始之前，您必须使用 [创建用于通过编程方式访问 Amazon Keyspaces 的服务特定凭证。](programmatic.credentials.ssc.md) 中记录的过程创建服务特定凭证。

   获得服务特定凭证后，您可以继续设置连接。请继续执行下列操作之一：
   + **用户名**：输入用户名。
   + **密码**：输入密码。
   + **AWS 区域**：有关可用区域的信息，请参阅 [Amazon Keyspaces 的服务端点](programmatic.endpoints.md)。
   + **端口**：Amazon Keyspaces 使用端口 9142。

   另外，您也可以从文件中导入保存的凭证。

1. 选择**提交**，使用数据模型更新 Amazon Keyspaces。

![\[显示使用服务特定凭证连接 Amazon Keyspaces 的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/images/workbench/key_nosql_SSC.png)


# 使用 AWS Identity and Access Management (IAM) 证书连接到 Amazon Keyspaces
<a name="workbench.commit.iam"></a>

本节介绍如何使用 IAM 凭证提交使用 NoSQL Workbench 创建或编辑的数据模型。

1. 要使用 IAM 凭证创建新连接，请选择**使用 IAM 凭证连接**选项卡。

   1. 开始之前，您必须使用以下方法之一创建 IAM 凭证。
     + 要访问控制台，请使用您的 IAM 用户名和密码从 IAM 登录页面登录 [AWS 管理控制台](https://console.aws.amazon.com/console/home)。有关 AWS 安全证书的信息，包括编程访问权限和长期证书的替代方案，请参阅 *IAM 用户指南*中的[AWS 安全证书](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html)。有关登录您的的详细信息 AWS 账户，请参阅*《AWS 登录 用户指南》 AWS*[中的如何登录](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)。
     + 要进行 CLI 访问，您需要访问密钥 ID 和秘密访问密钥。如果可能，请使用临时凭证代替长期访问密钥。临时凭证包括访问密钥 ID、秘密访问密钥，以及一个指示凭证何时到期的安全令牌。有关更多信息，请参阅 *IAM 用户指南*中的将[临时证书与 AWS 资源配合使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)。
     + 对于 API 访问，您需要访问密钥 ID 和秘密访问密钥。使用 IAM 用户访问密钥而不是 AWS 账户根用户 访问密钥。有关创建访问密钥的更多信息，请参阅 [IAM 用户*指南中的管理 IAM 用户的*访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)。

     有关更多信息，请参阅[管理 IAM 用户的访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)。

   获得 IAM 凭证后，您可以继续设置连接。
   + **连接名称**：连接的名称。
   + **AWS 区域**：有关可用区域的信息，请参阅 [Amazon Keyspaces 的服务端点](programmatic.endpoints.md)。
   + **访问密钥 ID**：输入访问密钥 ID。
   + **秘密访问密钥**：输入您的秘密访问密钥。
   + **端口**：Amazon Keyspaces 使用端口 9142。
   + **AWS 公共证书**-指向在第一步中下载的 AWS 证书。
   + **保持连接-如果要将 AWS 连接密钥保存在**本地，请选中此复选框。

1. 选择**提交**，使用数据模型更新 Amazon Keyspaces。

![\[显示使用 IAM 凭证连接 Amazon Keyspaces 的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/images/workbench/key_nosql_IAM.png)


# 使用已保存的连接
<a name="workbench.commit.default"></a>

如果您之前设置了与 Amazon Keyspaces 的连接，则可以将其用作提交数据模型更改的默认连接。选择**使用已保存的连接**选项卡，然后继续提交更新。

![\[显示到 Amazon Keyspaces 的默认链接的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/images/workbench/key_nosql_connection.png)


# 提交到 Apache Cassandra
<a name="workbench.commit.cassandra"></a>

本节将引导您完成与 Apache Cassandra 集群的连接，以提交使用 NoSQL Workbench 创建或编辑的数据模型。

**注意**  
只有使用 `SimpleStrategy` 或 `NetworkTopologyStrategy` 创建的数据模型可以提交到 Apache Cassandra 集群。要更改复制策略，请在数据建模工具中编辑键空间。

1. 
   + **用户名**：如果在集群上启用了身份验证，则输入用户名。
   + **密码**：如果在集群上启用了身份验证，则输入密码。
   + **联络点**：输入联络点。
   + **本地数据中心**：输入本地数据中心的名称。
   + **端口**：连接使用端口 9042。

1. 选择**提交**，使用数据模型更新 Apache Cassandra 集群。

![\[显示到 Apache Cassandra 的连接的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/keyspaces/latest/devguide/images/workbench/key_nosql_cassandra.png)


# NoSQL Workbench 中的示例数据模型
<a name="workbench.SampleModels"></a>

建模工具和可视化工具主页显示了一些随 NoSQL Workbench 提供的示例模型。本节介绍了这些模型及其潜在用途。

**Topics**
+ [员工数据模型](#workbench.SampleModels.EmployeeDataModel)
+ [信用卡交易数据模型](#workbench.SampleModels.CreditCardTransactionsDataModel)
+ [航空公司运营数据模型](#workbench.SampleModels.AirlineOperations)

## 员工数据模型
<a name="workbench.SampleModels.EmployeeDataModel"></a>

此数据模型代表员工数据库应用程序的 Amazon Keyspaces 架构。

访问给定公司员工信息的应用程序可以使用此数据模型。

该数据模型支持的访问模式是：
+ 检索具有给定 ID 的员工记录。
+ 检索具有给定 ID 和部门的员工记录。
+ 检索具有给定 ID 和姓名的员工记录。

## 信用卡交易数据模型
<a name="workbench.SampleModels.CreditCardTransactionsDataModel"></a>

此数据模型代表零售商店信用卡交易的 Amazon Keyspaces 架构。

信用卡交易的存储不仅可以帮助商店记帐，还可以帮助商店经理分析购买趋势，这可以帮助他们进行预测和规划。

该数据模型支持的访问模式是：
+ 按信用卡号、月份和年份以及日期检索交易。
+ 按信用卡号、类别和日期检索交易。
+ 按类别、位置和信用卡号检索交易。
+ 按信用卡号和争议状态检索交易。

## 航空公司运营数据模型
<a name="workbench.SampleModels.AirlineOperations"></a>

该数据模型显示有关飞机航班的数据，包括机场、航空公司和飞行路线。

演示的 Amazon Keyspaces 建模的关键组件包括键值对、宽列数据存储、复合键和复杂数据类型，例如用于演示常见 NoSQL 数据访问模式的地图。

该数据模型支持的访问模式是：
+ 在给定机场检索从给定航空公司出发的路线。
+ 检索具有给定目的地机场的路线。
+ 检索有直飞航班的机场。
+ 检索机场详情和航空公司详情。

# NoSQL Workbench 的发布历史记录
<a name="WorkbenchDocumentHistory"></a>

下表介绍了 *NoSQL Workbench* 客户端应用程序每一版中的重要更改。


****  

| 更改 | 描述 | 日期 | 
| --- | --- | --- | 
|  适用于 Amazon Keyspaces 的 NoSQL Workbench – GA。  |  适用于 Amazon Keyspaces 的 NoSQL Workbench 已正式推出。  |  2020 年 10 月 28 日  | 
|  NoSQL Workbench 预览版已发布。  |  NoSQL Workbench 是一款客户端应用程序，可帮助您更轻松地设计和可视化用于 Amazon Keyspaces 的非关系数据模型。NoSQL Workbench 客户端可用于 Windows、macOS 和 Linux。有关更多信息，请参阅[适用于 Amazon Keyspaces 的 NoSQL Workbench](https://docs.aws.amazon.com/keyspaces/latest/devguide/workbench.html)。  |  2020 年 10 月 5 日  | 