

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

# 在 Amazon Keyspaces 中创建键空间
<a name="getting-started.keyspaces"></a>

在本部分中，将使用控制台、`cqlsh` 或 AWS CLI创建键空间。

**注意**  
开始之前，请确保您已具备所有[教程先决条件](getting-started.before-you-begin.md)。

*键空间* 对与一个或多个应用程序相关的表进行分组。键空间包含一个或多个表，并为其包含的所有表定义复制策略。有关键空间的更多信息，请参阅以下主题：
+ CQL 语言参考中的数据定义语言（DDL）语句：[Keyspaces](cql.ddl.keyspace.md)
+ [Amazon Keyspaces（Apache Cassandra 兼容）限额](quotas.md)

在本教程中，我们创建一个单区域键空间，键空间的复制策略是 `SingleRegionStrategy`。使用 `SingleRegionStrategy`，Amazon Keyspaces 在一个 AWS 区域的三个[可用区](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)中复制数据。要了解如何创建多区域键空间，请参阅[在 Amazon Keyspaces 中创建多区域键空间](keyspaces-mrr-create.md)。

## 使用控制台
<a name="getting-started.keyspaces.con"></a>

**使用控制台创建键空间**

1. [登录并在家中打开 Amazon Keyspaces 控制台。 AWS 管理控制台 https://console.aws.amazon.com/keyspaces/](https://console.aws.amazon.com/keyspaces/home)

1. 在导航窗格中，选择 **Keyspaces (键空间)**。

1. 选择 **Create keyspace (创建键空间)**。

1. 在 **Keyspace name (键空间名称)** 框中，输入 **catalog** 作为键空间的名称。

   **名称约束：**
   + 名称不能为空。
   + 允许的字符：字母数字字符和下划线 (`_`)。
   + 最大长度为 48 个字符。

1. 在 **AWS 区域**下，确认**单区域复制**是键空间的复制策略。

1. 要创建键空间，请选择 **Create keyspace (创建键空间)**。

1. 通过执行以下操作，验证键空间 `catalog` 是否已创建：

   1. 在导航窗格中，选择 **Keyspaces (键空间)**。

   1. 在键空间列表中，查找键空间 `catalog`。

## 使用 CQL
<a name="getting-started.keyspaces.cql"></a>

以下过程使用 CQL 创建键空间。

**使用 CQL 创建键空间**

1. 使用以下 AWS CloudShell 命令打开并连接到 Amazon Keyspaces。请务必*us-east-1*使用您自己的地区进行更新。

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

   该命令应生成如下所示的输出。

   ```
   Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142
   [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]
   Use HELP for help.
   cqlsh current consistency level is ONE.
   ```

1. 使用以下 CQL 命令创建键空间。

   ```
   CREATE KEYSPACE catalog WITH REPLICATION = {'class': 'SingleRegionStrategy'};
   ```

   `SingleRegionStrategy`使用复制系数为三，并在其所在区域的三个 AWS 可用区之间复制数据。
**注意**  
Amazon Keyspaces 默认所有输入为小写，除非括在引号中。

1. 验证键空间是否已创建。

   ```
   SELECT * from system_schema.keyspaces;
   ```

   此命令的输出应类似如下：

   ```
   cqlsh> SELECT * from system_schema.keyspaces;
   
    keyspace_name           | durable_writes | replication
   -------------------------+----------------+-------------------------------------------------------------------------------------
              system_schema |           True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
          system_schema_mcs |           True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
                     system |           True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
    system_multiregion_info |           True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
                    catalog |           True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
   
   (5 rows)
   ```

## 使用 AWS CLI
<a name="getting-started.keyspaces.cli"></a>

以下过程使用 AWS CLI创建键空间。

**要使用创建密钥空间 AWS CLI**

1. 要确认您的环境已设置完毕，可以在中运行以下命令 CloudShell。

   ```
   aws keyspaces help
   ```

1. 使用以下 AWS CLI 语句创建密钥空间。

   ```
   aws keyspaces create-keyspace --keyspace-name 'catalog'
   ```

1. 使用以下 AWS CLI 语句验证您的密钥空间是否已创建

   ```
   aws keyspaces get-keyspace --keyspace-name 'catalog'
   ```

   此命令的输出应类似于以下示例。

   ```
   {
       "keyspaceName": "catalog",
       "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/",
       "replicationStrategy": "SINGLE_REGION"
   }
   ```