

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

# Amazon DynamoDB 中的配額
<a name="ServiceQuotas"></a>

本節說明 Amazon DynamoDB 中的當前配額 (過去稱為限制)。各項配額除非另有說明，否則都是區域特定規定。

**注意**  
DynamoDB 中的所有大小測量都會使用二進位單位。DynamoDB 表示 1 KB = 1024 位元組，1 MB = 1024 KB，1 GB = 1024 MB，1 TB = 1024 GB。

**Topics**
+ [讀取/寫入輸送量](#default-limits-throughput-capacity-modes)
+ [預留容量](#reserved-capacity)
+ [表格](#limits-tables)
+ [全域資料表](#gt-limits-throughput)
+ [次要索引](#limits-secondary-indexes)
+ [每份資料表的預估次要索引屬性](#projected-secondary-index-attributes)
+ [DynamoDB Streams](#limits-dynamodb-streams)
+ [從 Amazon S3 匯入](#import-limits)
+ [資料表匯出至 Amazon S3](#limits-table-export)
+ [備份與還原](#limits-backup-restore)
+ [Contributor Insights](#contributor-insights-quotas)

## 讀取/寫入輸送量
<a name="default-limits-throughput-capacity-modes"></a>

### 輸送量預設配額
<a name="default-limits-throughput"></a>

AWS 會將一些預設配額放在您的帳戶可在區域內佈建和使用的輸送量上。

帳戶層級的讀取輸送量和帳戶層級的寫入輸送量配額適用於帳戶層級。這些帳戶層級配額適用於給定區域中您帳戶的所有資料表和全域次要索引的佈建輸送容量總和。帳戶的所有可用輸送量可佈建至單一資料表或多份資料表。這些配額僅適用於使用佈建容量模式的資料表。

資料表層級的讀取輸送量和資料表層級的寫入輸送量配額，會以不同方式套用至使用佈建容量模式的資料表以及使用隨需容量模式的資料表。

對於佈建容量模式資料表和 GSI，配額是可佈建給區域中任何資料表或其任何 GSI 之讀取和寫入容量單位的最大數量。任何個別資料表及其所有 GSI 的總計也必須低於帳戶層級的讀取和寫入輸送量配額。這是對所有佈建資料表及其 GSI 的總計必須維持在帳戶層級讀取和寫入輸送量配額之下要求的額外補充。

對於隨需容量模式資料表和 GSI，資料表層級配額是可用於任何資料表或該表中任何個別 GSI 的最大讀取和寫入容量單位。在隨需模式下，不會將帳戶層級的讀取和寫入輸送量配額套用至資料表。

以下是預設情況下適用於您帳戶的輸送量配額。

**注意**  
所有容量單位和請求單位配額都是每秒測量。例如，40，000 個讀取容量單位的配額表示每秒 40，000 個讀取。

**注意**  
您可以透過增加服務配額，為您的 DynamoDB 資料表請求任意數量的讀取容量單位 (RCU) 或寫入容量單位 (WCU)。下表列出的值代表初始預設配額。這些不是資料表的最大限制。


| 輸送量配額名稱 | On-Demand | 佈建 | 可調整 | 
| --- | --- | --- | --- | 
| 每個資料表 | 40,000 個讀取請求單位與 40,000 個寫入請求單位 | 40,000 個讀取容量單位和 40,000 個寫入容量單位 |  是  | 
| 每個帳戶 | 不適用 | 80,000 個讀取容量單位和 80,000 個寫入容量單位 |  是  | 
| 任何資料表或全域次要索引的輸送量下限 | 不適用 | 1 個讀取容量單位和 1 個寫入容量單位 |  是  | 

### 提高或降低輸送量 (已佈建的資料表)
<a name="decreasing-increasing-throughput"></a>

#### 提高佈建輸送量
<a name="limits-increasing-provisioned-throughput"></a>

您可以視需要經常提高 `ReadCapacityUnits` 或 `WriteCapacityUnits`，使用 AWS 管理主控台 或 `UpdateTable` 操作。在單一呼叫中，您可以提高資料表、該資料表中任何全域次要索引，或這些項目任意組合的佈建輸送量。新的設定值要在 `UpdateTable` 操作完成後才會生效。

當您新增佈建容量時，不能超過您的每個帳戶配額，而且 DynamoDB 不允許您非常快速地提高佈建容量。在這些限制之外，您可以將您資料表的佈建容量提高至您需要的數量。如需每個帳戶配額的詳細資訊，請參閱前一節 [輸送量預設配額](#default-limits-throughput)。

#### 降低佈建輸送量
<a name="limits-decreasing-provisioned-throughput"></a>

您可以在 `UpdateTable` 操作中降低每個資料表和全域次要索引的 `ReadCapacityUnits` 或 `WriteCapacityUnits` (或兩個都降低)。新的設定值要在 `UpdateTable` 操作完成後才會生效。

您每天可以在 DynamoDB 資料表上執行的佈建容量減少的次數存在預設配額。一天是根據國際標準時間 (UTC) 來定義。您從每天的 4 個可用減少開始。每小時可再減少 1 次，最多 4 次。在整天的 24 小時期間，這可讓您減少最多 27 次 （第一個小時 4 次，其餘 23 小時各 1 次）。

**重要**  
資料表和全域次要索引調降限制是分開的，所以特定資料表的任何全域次要索引皆有各自的調降限制。但如果單一請求降低了資料表和全域次要索引的輸送量，只要其中之一超過目前的限制就會遭到拒絕。請求未得到部分處理。

**Example**  
在一天的第一個 4 小時中，具有全域次要索引的資料表可依下列方式修改：  
+  調降資料表的 `WriteCapacityUnits` 或 `ReadCapacityUnits` (或兩者) 四次。
+  調降全域次要索引的 `WriteCapacityUnits` 或 `ReadCapacityUnits` (或兩者) 四次。
 在同一天結束時，資料表和全域次要索引的輸送量有可能各調降 27 次。

## 預留容量
<a name="reserved-capacity"></a>

 AWS 會對您的帳戶可購買的作用中預留容量數量設定預設配額。配額限制是寫入容量單位 (WCU) 和讀取容量單位 (RCU) 的預留容量總和。


| 預留容量配額 | 作用中的預留容量 | 可調整 | 
| --- | --- | --- | 
|   每個帳戶   |   1,000,000 個佈建容量單位 (WCU \$1 RCU)   |   是   | 

 如果您嘗試單次購買超過 1,000,000 個佈建容量單位，將會收到此服務配額限制錯誤訊息。如果您擁有作用中的預留容量，並嘗試購買額外的預留容量，導致作用中的佈建容量單位總數超過 1,000,000 個，也會收到此服務配額限制錯誤訊息。

## 表格
<a name="limits-tables"></a>

### 資料表大小
<a name="limits-table-size"></a>

資料表大小沒有任何實際限制。就項目數或位元組數而言，資料表是沒有限制的。

### 每個帳戶每個區域的資料表數目上限
<a name="limits-tables-per-account"></a>

對於任何 AWS 帳戶，每個 AWS 區域的初始配額為 2，500 個資料表。

如果單一帳戶需要超過 2,500 個資料表，請聯絡您的 AWS 客戶團隊，了解將資料表數量增加到最多 10,000 個的可能性。如需超過 10,000 個資料表，建議的最佳實務是設定多個帳戶，每個帳戶最多可以提供 10,000 個資料表。

## 全域資料表
<a name="gt-limits-throughput"></a>

使用全域資料表時，適用下列預設配額。


| 預設全域資料表配額 | On-Demand | 佈建 | 
| --- | --- | --- | 
| MRSC 全域資料表的數量 (請參閱 [一致性模式](V2globaltables_HowItWorks.md#V2globaltables_HowItWorks.consistency-modes)) | 在任何容量模式中共 400 份 MRSC 全域資料表 | 在任何容量模式中共 400 份 MRSC 全域資料表 | 
| 針對多區域最終一致性 (MREC) 設定的每資料表輸送量 | 40,000 個讀取請求單位與 40,000 個寫入請求單位 | 40,000 個讀取容量單位和 40,000 個寫入容量單位 | 
| 針對多區域高度一致性 (MRSC) 設定的每資料表輸送量 | 40,000 個讀取請求單位與 40,000 個寫入請求單位 | 40,000 個讀取容量單位和 40,000 個寫入容量單位 | 
| 每個帳戶、每個區域、每天新複本的回填資料 | 10 TB | 10 TB | 

**注意**  
在某些情況下，您可能需要請求提高配額限制 AWS 支援。如果您適用下列任一項，請參閱 [https://aws.amazon.com/support](https://aws.amazon.com/support)：  
全域資料表輸送量配額必須等於或大於每個資料表輸送量配額，才能成功建立複本。MREC 和 MRSC 全域資料表有不同的全域資料表輸送量配額。
如果您要將一個複本或多個複本在 24 小時內新增到一個目標區域且合計大於 10TB，則必須針對您的新增複本資料回填配額請求新增服務配額。
如果您遇到類似下列的錯誤：  
無法在 'example\$1region\$1A' 區域中建立資料表 'example\$1table' 的複本，因為超過 'example\$1region\$1B' 區域中目前帳戶的限制。

## 次要索引
<a name="limits-secondary-indexes"></a>

每份資料表最多可以定義 5 個本機次要索引。

 每個資料表有 20 個全域次要索引的預設配額。

## 每份資料表的預估次要索引屬性
<a name="projected-secondary-index-attributes"></a>

您最多可以投影 100 個屬性到資料表所有的區域和全域次要索引。此配額僅適用於使用者指定的投影屬性。

在 `CreateTable` 操作中，如果您指定 `INCLUDE` 的 `ProjectionType`，則 `NonKeyAttributes` 中指定的屬性總數 (對所有次要索引求總) 絕對不能超過 100。如果您將相同的屬性名稱投影到兩個不同的索引，在判斷總數時，會計算為兩個不同的屬性。

這項限制不適用於含 `KEYS_ONLY` 或 `ALL` 的 `ProjectionType` 的次要索引。

## DynamoDB Streams
<a name="limits-dynamodb-streams"></a>

### DynamoDB Streams 中的碎片同時讀取
<a name="limits-dynamodb-streams-simultaneous"></a>

對於不是全域資料表的單一區域資料表，您最多可以設計兩個同步程序，以便同時讀取同一個 DynamoDB Streams 碎片。超過此限制會導致請求限流。對於全域資料表，我們建議您將同時讀取的數量限制為一個，以避免請求限流。

### 啟用 DynamoDB Streams 之資料表的寫入容量上限
<a name="limits-dynamodb-streams-max-write-capacity"></a>

AWS 會在啟用 DynamoDB Streams 的 DynamoDB 資料表寫入容量上放置一些預設配額。這些預設配額僅適用於佈建讀/寫容量模式下的資料表。
+ 每份資料表：40,000 個寫入容量單位

## 從 Amazon S3 匯入
<a name="import-limits"></a>

Amazon S3 的 DynamoDB 匯入可支援多達 50 個並行匯入任務，在 us-east-1、us-west-2 和 eu-west-1 區域的匯入來源物件大小總計達 15TB。在所有其他區域中，最多支援 50 個並行匯入任務，大小總計為 1TB。每個匯入任務在所有區域中最多可以使用 50,000 個 Amazon S3 物件。如需匯入和驗證的詳細資訊，請參閱[匯入格式配額與驗證](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataImport.Validation.html#S3DataImport.Validation.limits)。

## 資料表匯出至 Amazon S3
<a name="limits-table-export"></a>

完整匯出：所有執行中的資料表可以匯出最多 300 個並行匯出任務，或匯出最多 100TB。匯出排入佇列之前，會檢查這兩項限制。

增量匯出：DynamoDB 增量匯出至 Amazon S3 最多可支援 300 個並行匯出任務，或來自所有傳輸中資料表匯出的總計 100 TB。匯出期間時段限制為最短 15 分鐘，最長 24 小時。

## 備份與還原
<a name="limits-backup-restore"></a>

DynamoDB 透過 DynamoDB 隨需或連續備份支援最多 50 個並行還原，總計 50 TB。 AWS Backup 支援最多 50 個並行還原，總計 25 TB。

## Contributor Insights
<a name="contributor-insights-quotas"></a>

當您在 DynamoDB 資料表上啟用 Customer Insights 時，您仍然受限於 Contributor Insights 規則限制。如需詳細資訊，請參閱 [CloudWatch 服務配額](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html)。