本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon Keyspaces 中创建多区域密钥空间
本节提供了如何创建多区域密钥空间的示例。你可以在 Amazon Keyspaces 控制台上执行此操作,使用或 CQL AWS CLI。 您在多区域密钥空间中创建的所有表都会自动从密钥空间继承多区域设置。
当您创建多区域键空间时,Amazon Keyspaces 会在您的账户中创建一个名为 AWSServiceRoleForAmazonKeyspacesReplication
的服务相关角色。此角色允许 Amazon Keyspaces 代表您将写入复制到多区域表的所有副本。要了解更多信息,请参阅 使用角色进行 Amazon Keyspaces 多区域复制。
- Console
-
- Cassandra Query Language (CQL)
-
使用创建多区域密钥空间 CQL
-
要创建多区域密钥空间,请使用NetworkTopologyStrategy
指定 AWS 区域 密钥空间将被复制到其中。您必须包括您当前的区域和至少一个其他区域。
密钥空间中的所有表都继承密钥空间的复制策略。您无法更改表级别的复制策略。
NetworkTopologyStrategy
— 每个区域的重复系数为三,因为 Amazon Keyspaces 会在同一个区域内的三个可用区之间复制数据 AWS 区域,默认情况下。
以下CQL语句就是一个例子。
CREATE KEYSPACE mykeyspace
WITH REPLICATION = {'class':'NetworkTopologyStrategy', 'us-east-1':'3', 'ap-southeast-1':'3','eu-west-1':'3' };
-
您可以使用CQL语句在system_multiregion_info
密钥空间中查询tables
表,以编程方式列出您指定的多区域表的区域和状态。下面是一个代码示例。
SELECT * from system_multiregion_info.tables WHERE keyspace_name = 'mykeyspace
' AND table_name = 'mytable
';
该语句的输出如下所示:
keyspace_name | table_name | region | status
----------------+----------------+----------------+--------
mykeyspace | mytable | us-east-1 | ACTIVE
mykeyspace | mytable | ap-southeast-1 | ACTIVE
mykeyspace | mytable | eu-west-1 | ACTIVE
- CLI
-
使用创建新的多区域密钥空间 AWS CLI
-
要创建多区域密钥空间,可以使用以下CLI语句。请指定您当前的区域和 regionList
中的至少一个其他区域。
aws keyspaces create-keyspace --keyspace-name mykeyspace
\ --replication-specification replicationStrategy=MULTI_REGION,regionList=us-east-1,eu-west-1
要创建多区域表,请参阅在 Amazon Keyspaces 中使用默认设置创建多区域表和。在 Amazon Keyspaces 中使用自动缩放功能在预配置模式下创建多区域表