

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

# 为 Amazon Keyspaces 中的现有表启用 CDC 流
<a name="keyspaces-enable-cdc-alter-table"></a>

要为现有表启用 CDC 流，可以使用 CQL 中的`ALTER TABLE`语句、带的`update-table`命令 AWS CLI，也可以使用控制台。

对于表中每更改一行，Amazon Keyspaces 都可以根据`cdc_specification`您选择`view_type`的内容捕获以下更改：
+ `NEW_AND_OLD_IMAGES`— 该行的两个版本，在更改之前和之后。这是默认值。
+ `NEW_IMAGE`— 更改后的行的版本。
+ `OLD_IMAGE`— 更改前行的版本。
+ `KEYS_ONLY`— 已更改行的分区和群集键。

有关如何为直播添加标签的信息，请参阅[向直播添加新标签](Tagging.Operations.existing.stream.md)。

**注意**  
Amazon Keyspaces CDC 要求服务相关角色 (`AWSServiceRoleForAmazonKeyspacesCDC`) 代表您 CloudWatch 发布来自亚马逊密钥空间 CDC 流`"cloudwatch:namespace": "AWS/Cassandra"`的指标数据。将自动为您创建此角色。有关更多信息，请参阅 [在 Amazon Keyspaces CDC 直播中使用角色](using-service-linked-roles-CDC-streams.md)。

------
#### [ Cassandra Query Language (CQL) ]

**使用 CQL 启用直播（CDC 直播）**

您可以使用`ALTER TABLE`为现有表启用数据流。

1. 以下示例创建了一个流，该流仅捕获已更改行的分区和集群键的更改。

   ```
   ALTER TABLE mykeyspace.mytable
   WITH cdc = TRUE
   AND CUSTOM_PROPERTIES={'cdc_specification': {'view_type': 'KEYS_ONLY'}};
   ```

1. 要验证直播设置，您可以使用以下语句。

   ```
   SELECT keyspace_name, table_name, cdc, custom_properties FROM system_schema_mcs.tables WHERE keyspace_name = 'mykeyspace' AND table_name = 'mytable';
   ```

   该语句的输出类似于此。

   ```
    keyspace_name | table_name | cdc  | custom_properties
   ---------------+------------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       mykeyspace |    mytable | True | {'capacity_mode': {'last_update_to_pay_per_request_timestamp': '1741385897045', 'throughput_mode': 'PAY_PER_REQUEST'}, 'cdc_specification': {'latest_stream_arn': 'arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable/stream/2025-03-07T22:20:10.454', 'status': 'ENABLED', 'view_type': 'KEYS_ONLY'}, 'encryption_specification': {'encryption_type': 'AWS_OWNED_KMS_KEY'}, 'point_in_time_recovery': {'status': 'disabled'}}
   ```

------
#### [ CLI ]

**使用创建 CDC 直播 AWS CLI**

1. 要为现有表创建流，可以使用以下语法。

   ```
   aws keyspaces update-table \
   --keyspace-name 'mykeyspace' \
   --table-name 'mytable' \
   --cdc-specification status=ENABLED,viewType=NEW_AND_OLD_IMAGES
   ```

1. 该命令的输出显示了标准`create-table`响应，看起来与本示例类似。

   ```
   { "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable" }
   ```

------
#### [ Console ]

**使用 Amazon Keyspaces 控制台启用 CDC 直播**

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

1. 在导航窗格中，选择 “**表**”，然后从列表中选择一个表。

1. 选择 “**直播**” 选项卡。

1. 选择 **“编辑”** 以启用直播。

1. 选择 “**开启直播**”。

1. 选择直播的**视图类型**。可用选项如下：请注意，在创建直播后，您无法更改其视图类型。
   + **新图像和旧图像** — Amazon Keyspaces 会捕获该行的两个版本，包括更改之前和之后的版本。这是默认值。
   + **新图片** — Amazon Keyspaces 仅捕获更改后的行的版本。
   + **旧图片** — Amazon Keyspaces 仅捕获更改前行的版本。
   + **仅限主键** — Amazon Keyspaces 仅捕获已更改行的分区和群集键列。

1. 要完成操作，请选择**保存更改**。

------