在 Amazon Keyspaces 中创建新表时启用 CDC 流 - Amazon Keyspaces(Apache Cassandra 兼容)

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

在 Amazon Keyspaces 中创建新表时启用 CDC 流

要在创建表时启用 CDC 流,可以使用 CQL 中的CREATE TABLE语句或带有的create-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 流
  1. CREATE TABLE mykeyspace.mytable (a text, b text, PRIMARY KEY(a)) WITH CUSTOM_PROPERTIES={'cdc_specification': {'view_type': 'NEW_IMAGE'}} AND CDC = TRUE;
  2. 要确认直播设置,您可以使用以下语句。

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

    该语句的输出应类似于此。

    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': '1741383893782', 'throughput_mode': 'PAY_PER_REQUEST'}, 'cdc_specification': {'latest_stream_arn': 'arn:aws:cassandra:aws-region:111122223333:/keyspace/mykeyspace/table/mytable/stream/2025-03-07T21:44:53.783', 'status': 'ENABLED', 'view_type': 'NEW_IMAGE'}, 'encryption_specification': {'encryption_type': 'AWS_OWNED_KMS_KEY'}, 'point_in_time_recovery': {'status': 'disabled'}}>
CLI
使用创建表时启用 CDC 流 AWS CLI
  1. 要创建直播,您可以使用以下语法。

    aws keyspaces create-table \ --keyspace-name 'mykeyspace' \ --table-name 'mytable' \ --schema-definition 'allColumns=[{name=a,type=text},{name=b,type=text}],partitionKeys=[{name=a}]' \ --cdc-specification status=ENABLED,viewType=NEW_IMAGE
  2. 该命令的输出显示了标准create-table响应,看起来与本示例类似。

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