

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

# Step Functions 服務配額
<a name="service-quotas"></a>

AWS Step Functions 提供狀態機器參數的預設服務配額，例如一段時間內的 API 動作數量，或您可以定義的狀態機器數量。配額旨在防止設定錯誤的狀態機器耗用系統的所有資源，雖然許多 沒有硬性限制。

若要請求提高服務配額，您可以執行下列其中一項作業：
+ 使用位於 https：//[https://console.aws.amazon.com/servicequotas/home](https://console.aws.amazon.com/servicequotas/home) 的 Service Quotas 主控台。如需有關使用 Service Quotas 主控台請求提高配額的資訊，請參閱*Service Quotas 使用者指南*》中的[請求提高配額](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)。
+ 使用 中的**支援中心**頁面 AWS 管理主控台 ，針對 AWS Step Functions 每個區域提供的 資源請求提高配額。如需詳細資訊，請參閱《AWS 》**中的 [AWS 一般參考服務配額](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)。

**重要**  
新 AWS 帳戶已減少狀態轉換配額。 會根據您的用量自動 AWS 提高這些配額。

**注意**  
如果狀態機器執行或活動執行的某個特定階段耗時過長，您可設定狀態機器逾時來觸發逾時事件。

**Topics**
+ [一般配額](#service-limits-general)
+ [與帳戶相關的配額](#service-limits-accounts)
+ [與 HTTP 任務相關的配額](#service-limits-http-task)
+ [與狀態調節相關的配額](#service-limits-api-state-throttling)
+ [與 API 動作限流相關的配額](#service-limits-api-action-throttling-general)
+ [狀態機器執行的相關配額](#service-limits-state-machine-executions)
+ [與任務執行相關的配額](#service-limits-task-executions)
+ [與版本和別名相關的配額](#quotas-versions-aliases)
+ [標記的相關限制](#sfn-limits-tagging)

## 一般配額
<a name="service-limits-general"></a>

狀態機器、執行和活動任務的名稱長度不得超過 80 個字元。這些名稱對於您的帳戶和 AWS 區域必須是唯一的，且不得包含下列任何項目：
+ 空格
+ 萬用字元 (`? *`)
+ 括號字元 (`< > { } [ ]`)
+ 特殊字元 (`" # % \ ^ | ~ ` $ & , ; : /`)
+ 控制字元 (`\\u0000` - `\\u001f`或 `\\u007f` - `\\u009f`)。

Step Functions 接受包含非 ASCII 字元的狀態機器、執行、活動和標籤名稱。由於這類字元會阻止 Amazon CloudWatch 記錄資料，我們建議您僅使用 ASCII 字元，以便您可以追蹤 Step Functions 指標。

## 與帳戶相關的配額
<a name="service-limits-accounts"></a>


<table>
<thead>
  <tr><th>資源</th><th>預設配額</th><th>可以提高</th></tr>
</thead>
<tbody>
  <tr><td>註冊狀態機器的數量上限</td><td>100,000</td><td>150，000</td></tr>
  <tr><td>註冊活動的數量上限</td><td>100,000</td><td>150，000</td></tr>
  <tr><td>狀態機器定義的大小上限</td><td>1 MB</td><td>硬性配額</td></tr>
  <tr><td>請求大小上限</td><td>每個請求 1 MB。這是每個 Step Functions API 請求的總資料大小，包括請求標頭和所有其他相關聯的請求資料。</td><td>硬性配額</td></tr>
  <tr><td>每個帳戶的開放執行上限</td><td>每個 各 AWS 帳戶 1，000，000 個執行 AWS 區域。超過此限制會造成 ExecutionLimitExceeded 錯誤。這不適用於快速工作流程。</td><td>數百萬</td></tr>
  <tr><td>開啟的映射執行數目上限</td><td>1000<br />此配額適用於[*分散式映射狀態*](state-map-distributed.md)。<br />開啟的 [Map Run](concepts-examine-map-run.md) 已啟動，但尚未完成。待處理的 Map Runs 會在 [MapRunStarted](https://docs.aws.amazon.com/step-functions/latest/apireference/API_MapRunStartedEventDetails.html) 事件中等待，直到開啟的 Map Runs 總數小於配額。</td><td>硬性配額</td></tr>
  <tr><td>Map Run [redrives](redrive-map-run.md) 的上限。</td><td>1000<br />此配額適用於*分散式映射狀態*。</td><td>硬性配額</td></tr>
  <tr><td>單一 Map Run 內的平行子執行數目上限</td><td>10,000<br />Step Functions 會以高達 1，000 TPS 的速率分配快速執行，並以高達 100 TPS 的速率分配標準執行。</td><td>硬性配額</td></tr>
</tbody>
</table>


## 與 HTTP 任務相關的配額
<a name="service-limits-http-task"></a>

HTTP 任務會使用字符儲存貯體方案調節，以維護Step Functions服務頻寬。


| 資源 | 儲存貯體大小 | 每秒重新填滿速率 | 
| --- | --- | --- | 
| [HTTP 任務](call-https-apis.md) | 300 | 300 | 


| 資源 | 預設配額 | 
| --- | --- | 
| HTTP 任務持續時間 — 傳送 HTTP 請求和接收回應的時間 | 60 秒 （硬性配額） | 

## 與狀態調節相關的配額
<a name="service-limits-api-state-throttling"></a>

Step Functions 狀態轉換會使用字符儲存貯體方案調節，以維持服務頻寬。標準工作流程和快速工作流程具有不同的狀態轉換限流。標準工作流程配額是軟配額，可以增加。

**注意**  
`StateTransition` 服務指標上的調節會在 Amazon CloudWatch `ExecutionThrottled`中報告為 。如需詳細資訊，請參閱 [`ExecutionThrottled` CloudWatch 指標](procedure-cw-metrics.md#cloudwatch-step-functions-execution-metrics)。


| ** ** | **Standard** | **Express** | 
| --- |--- |--- |
| 服務指標 | 儲存貯體大小 | 每秒重新填滿速率  | 儲存貯體大小 | 每秒重新填滿速率  | 
| --- |--- |--- |--- |--- |
| `StateTransition` — * 美國東部 （維吉尼亞北部）、美國西部 （奧勒岡） 和歐洲 （愛爾蘭）* | 5,000 | 5,000 | 無限制 | 無限制 | 
| `StateTransition` — *所有其他區域* | 800 | 800 | 無限制 | 無限制 | 

## 與 API 動作限流相關的配額
<a name="service-limits-api-action-throttling-general"></a>

有些 Step Functions API 動作會使用權杖儲存貯體方案來調節，以維持服務頻寬。以下是軟配額，可以增加。

**注意**  
調節配額是每個 帳戶、每個 AWS 區域。  
AWS Step Functions 可能會隨時增加儲存貯體大小和重新填充率。


| ** ** | **Standard** | **Express** | 
| --- |--- |--- |
| API 名稱 | 儲存貯體大小 | 每秒重新填滿速率 | 儲存貯體大小 | 每秒重新填滿速率 | 
| --- |--- |--- |--- |--- |
| StartExecution — 美國東部 （維吉尼亞北部）、美國西部 （奧勒岡） 和歐洲 （愛爾蘭） | 1,300 | 300 | 6,000 | 6,000 | 
| StartExecution — 所有其他區域 | 800 | 150 | 6,000 | 6,000 | 

### 其他配額
<a name="service-limits-large-regions"></a>

以下是軟配額，可以增加。


| ** ** | **US East (N. Virginia), US West (Oregon), and Europe (Ireland)** | **All other regions** | 
| --- |--- |--- |
| API 名稱 | 儲存貯體大小 | 每秒重新填滿速率 | 儲存貯體大小 | 每秒重新填滿速率 | 
| --- |--- |--- |--- |--- |
| CreateActivity | 100 | 1 | 100 | 1 | 
| CreateStateMachine | 100 | 1 | 100 | 1 | 
| CreateStateMachineAlias | 100 | 1 | 100 | 1 | 
| DeleteActivity | 100 | 1 | 100 | 1 | 
| DeleteStateMachine | 100 | 1 | 100 | 1 | 
| DeleteStateMachineAlias | 100 | 1 | 100 | 1 | 
| DeleteStateMachineVersion | 100 | 1 | 100 | 1 | 
| DescribeActivity | 200 | 1 | 200 | 1 | 
| DescribeExecution | 300 | 15 | 250 | 10 | 
| DescribeMapRun | 200 | 1 | 200 | 1 | 
| DescribeStateMachine | 200 | 20 | 200 | 20 | 
| DescribeStateMachineAlias | 200 | 1 | 200 | 1 | 
| DescribeStateMachineForExecution | 200 | 1 | 200 | 1 | 
| GetActivityTask | 3,000 | 500 | 1,500 | 300 | 
| GetExecutionHistory | 400 | 20 | 400 | 20 | 
| ListActivities | 100 | 10 | 100 | 5 | 
| ListExecutions | 200 | 5 | 100 | 2 | 
| ListMapRuns | 100 | 1 | 100 | 1 | 
| ListStateMachineAliases | 100 | 1 | 100 | 1 | 
| ListStateMachines | 100 | 5 | 100 | 5 | 
| ListStateMachineVersions | 100 | 1 | 100 | 1 | 
| ListTagsForResource | 100 | 1 | 100 | 1 | 
| PublishStateMachineVersion | 100 | 1 | 100 | 1 | 
| RedriveExecution | 1,300 | 300 | 800 | 150 | 
| SendTaskFailure | 3,000 | 500 | 1,500 | 300 | 
| SendTaskHeartbeat | 3,000 | 500 | 1,500 | 300 | 
| SendTaskSuccess | 3,000 | 500 | 1,500 | 300 | 
| StartSyncExecution | 同步 Express 執行 API 呼叫不會造成現有的帳戶容量限制。Step Functions 提供隨需容量，並隨著持續的工作負載自動擴展。工作負載激增可能會受到調節，直到容量可用為止。<br />如果您遇到限流，請在一段時間後再試一次。如需同步快速工作流程的詳細資訊，請參閱 [Step Functions 中的同步和非同步快速工作流程](choosing-workflow-type.md#concepts-express-synchronous)。 | 
| StopExecution | 1,000 | 200 | 500 | 25 | 
| TagResource | 200 | 1 | 200 | 1 | 
| TestState | 10 | 50 | 10 | 50 | 
| UntagResource | 200 | 1 | 200 | 1 | 
| UpdateMapRun | 100 | 1 | 100 | 1 | 
| UpdateStateMachine | 100 | 1 | 100 | 1 | 
| UpdateStateMachineAlias | 100 | 1 | 100 | 1 | 
| ValidateStateMachineDefinition | 100 | 1 | 100 | 1 | 

## 狀態機器執行的相關配額
<a name="service-limits-state-machine-executions"></a>

下表說明與狀態機器執行相關的配額。狀態機器執行配額是無法變更的硬性配額，但*執行歷史記錄保留時間*配額除外。


| 配額 | 標準 | Express | 
| --- | --- | --- | 
| 執行時間上限 | 1 年。如果執行執行時間超過 1 年上限，則會發生錯誤`States.Timeout`並發出 `ExecutionsTimedOut` CloudWatch 指標。 | 5 分鐘。如果執行執行時間超過 5 分鐘上限，則會失敗並顯示`States.Timeout`錯誤並發出 `ExecutionsTimedOut` CloudWatch 指標。 | 
| 執行歷史記錄大小上限 | 單一狀態機器執行歷史記錄中有 25，000 個事件。如果執行歷史記錄達到此配額，執行將會失敗。若要避免這種情況，請參閱[開始新的執行，以避免達到 Step Functions 中的歷史記錄配額](sfn-best-practices.md#bp-history-limit)。 | 無限制。 | 
| 執行閒置時間上限 | 1 年<br />受最大執行時間限制。 | 5 分鐘<br />受最大執行時間限制。 | 
| 執行歷史記錄保留時間 | 執行關閉後 90 天。在這個時間之後，您就不能再擷取或檢視執行歷史記錄。Step Functions 保留的已關閉執行數目沒有進一步配額。<br />若要符合合規、組織或法規要求，您可以傳送配額請求，將執行歷史記錄保留期縮短為 30 天。若要這樣做，請使用 AWS Support Center Console 並建立新案例。<br />將保留期間縮短為 30 天的變更適用於每個區域的每個帳戶。若要減少跨多個區域或帳戶的保留，請針對每個帳戶區域組合提交個別的請求。 | 若要查看執行歷史記錄，必須設定 Amazon CloudWatch Logs 記錄。如需詳細資訊，請參閱[使用 CloudWatch Logs 在 Step Functions 中記錄執行歷史記錄](cw-logs.md)。 | 
| 執行redrivable期間 | 14 天<br />硬配額適用於[*分散式映射狀態*](state-map-distributed.md)。<br />Redrivable 期間是指您可以[redrive](redrive-executions.md)執行指定[標準工作流程](choosing-workflow-type.md)的時間。此期間從狀態機器完成其執行的那一天開始。 | Redrive Express 工作流程不支援 。 | 

## 與任務執行相關的配額
<a name="service-limits-task-executions"></a>

下表說明與任務執行相關的配額。這些都是無法變更的**硬性配額**。


| 配額 | 標準 | Express | 
| --- | --- | --- | 
| 任務執行時間上限 | 1 年 — 受最長執行時間限制。 | 5 分鐘 — 受最長執行時間限制。 | 
| Step Functions 在佇列中保留任務的時間上限 | 1 年 — 受最長執行時間限制。 | 5 分鐘 — 受最長執行時間限制。 | 
| 任務、狀態或執行的輸入或輸出大小上限 | 256 KiB 的資料做為 UTF-8 編碼字串。此配額會影響任務 （活動、Lambda 函數或整合服務）、狀態或執行輸出，以及排程任務、進入狀態或開始執行時的輸入資料。 | 256 KiB 的資料做為 UTF-8 編碼字串。此配額會影響任務 （活動、Lambda 函數或整合服務）、狀態或執行輸出，以及排程任務、進入狀態或開始執行時的輸入資料。 | 

## 與版本和別名相關的配額
<a name="quotas-versions-aliases"></a>


| 資源 | 預設配額 | 
| --- | --- | 
| 已發佈狀態機器版本的數目上限 | 每個狀態機器 1000 個 | 
| 狀態機器別名數目上限 | 每個狀態機器 100 個 | 

若要請求提高已發佈狀態機器版本和別名的軟性限制，請使用 中的**支援中心**頁面[AWS 管理主控台](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)。

## 標記的相關限制
<a name="sfn-limits-tagging"></a>

下列標記限制**無法**修改或增加。
+ **字首限制** — 請勿在標籤名稱或值中使用字`aws:`首，因為它保留僅供 AWS 使用。您無法編輯或刪除具有 `aws:`字首的標籤名稱或值。字`aws:`首為 的標籤不會計入每個資源配額的標籤。
+ **字元限制** — 標籤只能包含 Unicode 字母、數字、空格或下列符號： `_ . : / = + - @`


| 限制 | 說明 | 
| --- | --- | 
| 每個資源的標籤數上限 | 50 | 
| 金鑰長度上限 | 128 個 UTF-8 編碼的 Unicode 字元 | 
| ​數值長度上限 | 256 個 UTF-8 編碼的 Unicode 字元 | 