View a markdown version of this page

为 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— 已更改行的分区和群集键。

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

注意

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

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'}};
  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: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
  2. 该命令的输出显示了标准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/home

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

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

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

  5. 选择开启直播

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

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

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

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

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

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