

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

# 在 Amazon Keyspaces 中更改表的容量模式
<a name="ReadWriteCapacityMode.SwitchReadWriteCapacityMode"></a>

当您将表从预置的容量模式切换到按需容量模式时，Amazon Keyspaces 会对表和分区的结构进行若干更改。此过程可能耗时数分钟。在切换期间，您的表将提供与先前预置的 WCU 和 RCU 数量相一致的吞吐量。

当您从按需容量模式切换回预置的容量模式时，表将提供与表设置为按需容量模式时达到的先前峰值一致的吞吐量。

切换容量模式时，需要等待以下时间：
+ 您可以随时将按需模式下新创建的表切换到预置容量模式。但是，您只有在表创建时间戳的 24 小时之后才能将其切换回按需模式。
+ 您可以随时将按需模式下的现有表切换到预置容量模式。但是，在 24 小时内，您只能将容量模式从预置模式切换到按需模式一次。

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

**使用 CQL 更改表的吞吐能力模式**

1. 要将表的容量模式更改为 `PROVIOSIONED`，必须根据工作负载的预期峰值配置读取容量和写入容量单位数。以下语句便是一个示例。您也可以运行此语句来调整表的读取容量或写入容量单位数。

   ```
   ALTER TABLE catalog.book_awards WITH CUSTOM_PROPERTIES={'capacity_mode':{'throughput_mode': 'PROVISIONED', 'read_capacity_units': 6000, 'write_capacity_units': 3000}};
   ```

   要使用自动扩缩功能配置预置容量模式，请参阅[在现有表上配置自动扩缩](autoscaling.configureTable.md)。

1. 要将表的容量模式更改为按需模式，请将吞吐量模式设置为 `PAY_PER_REQUEST`。下面是一个示例语句。

   ```
   ALTER TABLE catalog.book_awards WITH CUSTOM_PROPERTIES={'capacity_mode':{'throughput_mode': 'PAY_PER_REQUEST'}};
   ```

1. 您可以使用以下语句来确认表的容量模式。

   ```
   SELECT * from system_schema_mcs.tables where keyspace_name = 'catalog' and table_name = 'book_awards';
   ```

   使用按需容量模式配置的表返回以下内容。

   ```
   {
      "capacity_mode":{
         "last_update_to_pay_per_request_timestamp":"1727952499092",
         "throughput_mode":"PAY_PER_REQUEST"
      }
   }
   ```

   `last_update_to_pay_per_request_timestamp` 值以毫秒为单位。

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

**使用更改表的吞吐容量模式 AWS CLI**

1. 要将表的容量模式更改为 `PROVIOSIONED`，必须根据工作负载的预期峰值配置读取容量和写入容量单位数。下面是一个命令示例。您也可以运行此命令来调整表的读取容量或写入容量单位数。

   ```
   aws keyspaces update-table --keyspace-name catalog --table-name book_awards  
                                       \--capacity-specification throughputMode=PROVISIONED,readCapacityUnits=6000,writeCapacityUnits=3000
   ```

   要使用自动扩缩功能配置预置容量模式，请参阅[在现有表上配置自动扩缩](autoscaling.configureTable.md)。

1. 要将表的容量模式更改为按需模式，请将吞吐量模式设置为 `PAY_PER_REQUEST`。下面是一个示例语句。

   ```
   aws keyspaces update-table --keyspace-name catalog --table-name book_awards 
                                       \--capacity-specification throughputMode=PAY_PER_REQUEST
   ```

1. 您可以使用以下命令查看为表配置的容量模式。

   ```
   aws keyspaces get-table --keyspace-name catalog --table-name book_awards
   ```

   而在按需模式下，表的输出类似如下内容。

   ```
   "capacitySpecification": {
           "throughputMode": "PAY_PER_REQUEST",
           "lastUpdateToPayPerRequestTimestamp": "2024-10-03T10:48:19.092000+00:00"
       }
   ```

------