

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 更新 Amazon Keyspaces 中多區域資料表的佈建容量和自動擴展設定
<a name="tables-mrr-autoscaling"></a>

本節包含如何使用 主控台、CQL 和 AWS CLI 來管理佈建多區域資料表之 Amazon Keyspaces 自動擴展設定的範例。如需一般自動擴展組態選項及其運作方式的詳細資訊，請參閱 [使用 Amazon Keyspaces 自動擴展自動管理輸送量容量](autoscaling.md)。

請注意，如果您使用多區域資料表的佈建容量模式，您必須一律使用 Amazon Keyspaces API 呼叫來設定自動擴展。這是因為基礎 Application Auto Scaling API 操作不熟悉區域。

如需如何預估佈建多區域資料表寫入容量輸送量的詳細資訊，請參閱 [Amazon Keyspaces 中多區域資料表的估計和佈建容量](tables-multi-region-capacity.md)。

如需 Amazon Keyspaces API 的詳細資訊，請參閱 [https://docs.aws.amazon.com/keyspaces/latest/APIReference/Welcome.html](https://docs.aws.amazon.com/keyspaces/latest/APIReference/Welcome.html)。

當您更新多區域資料表的佈建模式或自動擴展設定時，您可以更新資料表每個複本的讀取容量設定和讀取自動擴展組態。

不過，寫入容量會在所有複本之間保持同步，以確保有足夠的容量跨所有區域複寫寫入。

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

**使用 CQL 更新多區域資料表的佈建容量和自動擴展設定**
+  您可以使用 `ALTER TABLE` 更新現有資料表的容量模式和自動擴展設定。如果您要更新目前處於隨需容量模式的資料表，`capacity_mode`則需要 。如果您的資料表已處於佈建容量模式，則可以省略此欄位。

  如需自動擴展設定、目標追蹤政策、目標值和選用設定的詳細資訊，請參閱 [使用自動擴展建立新的資料表](autoscaling.createTable.md)。

  在相同的陳述式中，您也可以更新資料表的 `replica_updates` 屬性，以更新特定區域中資料表複本的讀取容量和自動擴展設定。下列陳述式為範例。

  ```
  ALTER TABLE mykeyspace.mytable
  WITH CUSTOM_PROPERTIES = {  
      'capacity_mode': {  
          'throughput_mode': 'PROVISIONED',  
          'read_capacity_units': 1,  
          'write_capacity_units': 1  
      }
  } AND AUTOSCALING_SETTINGS = {
      'provisioned_write_capacity_autoscaling_update': {
          'maximum_units': 10,  
          'minimum_units': 5,  
          'scaling_policy': {
              'target_tracking_scaling_policy_configuration': {
                  'target_value': 50
              }  
          }  
      },
      'provisioned_read_capacity_autoscaling_update': {  
          'maximum_units': 10,  
          'minimum_units': 5,  
          'scaling_policy': {  
              'target_tracking_scaling_policy_configuration': {  
                  'target_value': 50,
                  'scale_in_cooldown': 60,  
                  'scale_out_cooldown': 60
              }  
          }  
      },
      'replica_updates': {
          'us-east-1': {
              'provisioned_read_capacity_autoscaling_update': {
                  'maximum_units': 20,
                  'minimum_units': 5,
                  'scaling_policy': {
                      'target_tracking_scaling_policy_configuration': {
                          'target_value': 70
                      } 
                  }
              }
          }
      }
  };
  ```

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

**使用 更新多區域資料表的佈建容量和自動擴展設定 AWS CLI**
+ 若要更新現有資料表的佈建模式和自動擴展組態，您可以使用 AWS CLI `update-table`命令。

  請注意，您必須使用 Amazon Keyspaces CLI 命令來建立或修改多區域自動擴展設定。這是因為 Application Auto Scaling 是 Amazon Keyspaces 用來代表您執行資料表容量自動擴展的服務，不支援多個 AWS 區域。

   若要更新特定區域中資料表複本的讀取容量，您可以變更資料表 的下列其中一個選用參數`replicaSpecifications`：
  + 佈建的讀取容量單位 （選用）
  + 讀取容量的自動擴展設定 （選用）

  當您使用複雜的自動擴展設定和資料表複本的不同組態更新多區域資料表時，從 JSON 檔案載入資料表的自動擴展設定和複本組態會很有幫助。

  若要使用下列程式碼範例，您可以從 [auto-scaling.zip](samples/auto-scaling.zip) 下載範例 JSON 檔案，並解壓縮 `auto-scaling.json`和 `replication.json`。請記下檔案的路徑。

  在此範例中，JSON 檔案位於目前的 目錄中。如需不同的檔案路徑選項，請參閱[如何從檔案載入參數](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html#cli-usage-parameters-file-how)。

  ```
  aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable \
  --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 \
  --auto-scaling-specification file://auto-scaling.json \
  --replica-specifications file://replication.json
  ```

------