为 Amazon Keyspaces 中的现有表启用 CDC 流 - Amazon Keyspaces(Apache Cassandra 兼容)

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

为 Amazon Keyspaces 中的现有表启用 CDC 流

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

对于表中每更改一行,Amazon Keyspaces 都可以根据cdc_specification您选择view_type的内容捕获以下更改:

  • NEW_AND_OLD_IMAGES— 该行的两个版本,在更改之前和之后。这是默认值。

  • NEW_IMAGE— 更改后的行的版本。

  • OLD_IMAGE— 更改前行的版本。

  • KEYS_ONLY— 已更改行的分区和群集键。

有关如何为直播添加标签的信息,请参阅向直播添加新标签

注意

Amazon Keyspaces CDC 要求存在服务相关角色 (AWSServiceRoleForAmazonKeyspacesCDC),该角色代表您将来自亚马逊密钥空间 CDC 流的指标数据发布到您的"cloudwatch:namespace": "AWS/Cassandra" CloudWatch 账户中。将自动为您创建此角色。有关更多信息,请参阅 在 Amazon Keyspaces CDC 直播中使用角色

Cassandra Query Language (CQL)
使用 CQL 启用直播(CDC 直播)

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

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

    ALTER TABLE mykeyspace.mytable WITH cdc = TRUE WITH CUSTOM_PROPERTIES={'cdc_specification': {'view_type': 'KEYS_ONLY'}};
  2. 要验证直播设置,您可以使用以下语句。

    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:aws-region: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
  2. 该命令的输出显示了标准create-table响应,看起来与本示例类似。

    { "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/mykeyspace/table/mytable" }
Console
使用 Amazon Keyspaces 控制台启用 CDC 直播
  1. 登录并在家中打开 Amazon Keyspaces 控制台。 AWS Management Console https://console.aws.amazon.com/keyspaces/

  2. 在导航窗格中,选择 “”,然后从列表中选择一个表。

  3. 选择 “直播” 选项卡。

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

  5. 选择 “开启直播”。

  6. 选择直播的视图类型。可用选项如下:请注意,在创建直播后,您无法更改其视图类型。

    • 新图像和旧图像 — Amazon Keyspaces 会捕获该行的两个版本,包括更改之前和之后的版本。这是默认值。

    • 新图片 — Amazon Keyspaces 仅捕获更改后的行的版本。

    • 旧图片 — Amazon Keyspaces 仅捕获更改前行的版本。

    • 仅限主键 — Amazon Keyspaces 仅捕获已更改行的分区和群集键列。

  7. 要完成操作,请选择 “保存更改”。