

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

# Step Functions 服务配额
<a name="service-quotas"></a>

Amazon Step Functions 为状态机参数提供默认服务配额，例如一段时间内的 API 操作数量或您可以定义的状态机数量。配额旨在防止错误配置的状态机消耗掉系统的所有资源，尽管其中的很多资源并没有硬限制。

要请求增加服务限额，您可以执行以下操作之一：
+ 在[https://console.aws.amazon.com/servicequotas/家中使用 Service Quotas](https://console.amazonaws.cn/servicequotas/home) 控制台。有关请求增加配额的信息，请参阅《服务限额用户指南》**中的[请求增加配额](https://docs.amazonaws.cn/servicequotas/latest/userguide/request-quota-increase.html)。
+ 使用中的 Su **pport Amazon Web Services 管理控制台 Center** 页面申请按区域增加提供的资源的配额。 Amazon Step Functions 有关更多信息，请参阅 *Amazon Web Services 一般参考* 中的 [Amazon 服务限额](https://docs.amazonaws.cn/general/latest/gr/aws_service_limits.html)。

**重要**  
新 Amazon 账户减少了州过渡配额。 Amazon 根据您的使用情况自动提高这些配额。

**注意**  
如果状态机执行或活动执行的特定阶段耗时太长，您可以配置状态机超时来引发超时事件。

**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 个字符。对于您的账户和 Amazon 地区，这些名称必须是唯一的，并且不得包含以下任何内容：
+ 空格
+ 通配符 (`? *`)
+ 方括号字符 (`< > { } [ ]`)
+ 特殊字符 (`" # % \ ^ | ~ ` $ & , ; : /`)
+ 控制字符（`\\u0000` - `\\u001f` 或 `\\u007f` - `\\u009f`）

Step Functions 对于状态机、执行、活动和标签接受包含非 ASCII 字符的名称。由于此类字符会 CloudWatch 阻止亚马逊记录数据，因此我们建议您仅使用 ASCII 字符，这样您就可以跟踪 Step Functions 的指标。

## 与账户相关的配额
<a name="service-limits-accounts"></a>


| 资源 | 默认配额 | 可以增加至 | 
| --- | --- | --- | 
| 已注册状态机的最大数量 | 100000 | 15万 | 
|  已注册活动的最大数量  | 100000 | 15万 | 
|  状态机定义的最大大小  | 1 MB | 硬配额 | 
| 最大请求大小 | 每个请求 1 MB。这是每个 Step Functions API 请求的总数据大小，包括请求标头以及所有其他关联的请求数据。 | 硬配额 | 
|  每个账户打开的最大执行数  | 每个 Amazon Web Services 区域的每个 Amazon Web Services 账户 100 万次执行。超过此限制会导致 ExecutionLimitExceeded 错误。这不适用于快速工作流。 | 数百万 | 
| 打开的 Map Run 的最大数量 | 1000 此配额适用于[*分布式 Map 状态*](state-map-distributed.md)。 打开的 [Map Run](concepts-examine-map-run.md) 已经开始，但尚未完成。积压的地图跑步将在[MapRunStarted](https://docs.amazonaws.cn/step-functions/latest/apireference/API_MapRunStartedEventDetails.html)活动开始时等待，直到打开的地图跑步总数少于配额。 | 硬配额 | 
| Map Run [redrives](redrive-map-run.md)的最大值。 | 1000 此配额适用于*分布式 Map 状态*。 | 硬配额 | 
| 并行 Map Run 子执行的最大数量 | 10000 |  硬配额  | 

## 与 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`服务指标的限制报告与 `ExecutionThrottled` Amazon中的情况相同。 CloudWatch有关更多信息，请参阅[`ExecutionThrottled` CloudWatch 指标](procedure-cw-metrics.md#cloudwatch-step-functions-execution-metrics)。


| ** ** | **Standard** | **Express** | 
| --- |--- |--- |
| 服务指标 | 桶大小 | 每秒的重填速率  | 桶大小 | 每秒的重填速率  | 
| --- |--- |--- |--- |--- |
|  `StateTransition`：*美国东部（弗吉尼亚州北部）、美国西部（俄勒冈州）、欧洲地区（爱尔兰）*  | 5000 | 5000 |  无限制  |  无限制  | 
|  `StateTransition` — *所有其他区域*  | 800 | 800 |  无限制  |  无限制  | 

## 与 API 操作限制相关的配额
<a name="service-limits-api-action-throttling-general"></a>

一些 Step Functions API 操作会使用令牌存储桶方案进行限制，以便维护服务带宽。以下配额是软配额，可以增加。

**注意**  
限制配额是按账户和区域划分的 Amazon 。  
Amazon Step Functions 可以随时增加桶的大小和填充率。


| ** ** | **Standard** | **Express** | 
| --- |--- |--- |
| API 名称 | 桶大小 | 每秒的重填速率 | 桶大小 | 每秒的重填速率 | 
| --- |--- |--- |--- |--- |
| StartExecution：美国东部（弗吉尼亚州北部）、美国西部（俄勒冈州）、欧洲地区（爱尔兰） | 1,300 | 300 | 6000 | 6000 | 
| StartExecution — 所有其他区域 | 800 | 150 | 6000 | 6000 | 

### 其他配额
<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 | 3000 | 500 | 1500 | 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 | 3000 | 500 | 1500 | 300 | 
| SendTaskHeartbeat | 3000 | 500 | 1500 | 300 | 
| SendTaskSuccess | 3000 | 500 | 1500 | 300 | 
| StartSyncExecution |  同步快速执行 API 调用不会影响现有的账户容量限制。Step Functions 按需提供容量，并根据持续的工作负载自动扩展。在容量扩展之前，可以限制工作负载激增。 如果您遇到限制，请稍后重试。有关同步快递工作流的信息，请参见[Step Functions 中的同步和异步快速工作流程](choosing-workflow-type.md#concepts-express-synchronous)。  | 
| StopExecution | 1000 | 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 指标。  | 
|  最大执行历史记录大小  | 单个状态机执行历史记录中有 25000 个事件。如果执行历史记录达到此配额，则执行将失败。要避免这种情况，请参阅[在 Step Functions 中启动新的执行以避免达到历史记录配额](sfn-best-practices.md#bp-history-limit)。 | 无限制。 | 
|  最长执行空闲时间  |  1 年 受最长执行时间限制。  |  5 分钟 受最长执行时间限制。  | 
| 执行历史记录保留时间 |  执行结束后 90 天。此时间过后，无法再检索或查看执行历史。对 Step Functions 保留的已关闭执行数没有进一步的配额。 为了满足合规性、组织或监管要求，您可以通过发送配额请求，将执行历史记录的保留期缩短至 30 天。为此，请使用 Amazon Support Center Console 并创建一个新案例。 将保留期缩短至 30 天的更改适用于区域中的每个账户。  |  要查看执行历史记录，必须配置 Amazon CloudWatch 日志记录。有关更多信息，请参阅 [在 Step Functions 中使用 CloudWatch 日志记录执行历史记录](cw-logs.md)。  | 
| 执行redrivable期 | 14 天 硬配额适用于[*分布式 Map 状态*](state-map-distributed.md)。 Redrivable期是指您可以[redrive](redrive-executions.md)特定[标准工作流](choosing-workflow-type.md)执行的时间。这段时间从状态机完成执行的当天开始计算。  | 快速工作流程不支持Redrive。 | 

## 与任务执行相关的配额
<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 个 | 

要请求提高已发布状态机版本和别名的软限制，请使用 [Amazon Web Services 管理控制台](https://docs.amazonaws.cn/servicequotas/latest/userguide/request-quota-increase.html) 中的 **Support Center** 页面。

## 与标记相关的限制
<a name="sfn-limits-tagging"></a>

**无法**修改或增加以下标记限制。
+ **前缀限制**-请勿在标签名称或值中使用`aws:`前缀，因为它仅供 Amazon 使用。您无法编辑或删除带 `aws:` 前缀的标签名称或值。具有 `aws:` 前缀的标签不计入每个资源的标签数配额。
+ **字符限制**：标签只能包含 Unicode 字母、数字、空格或以下符号：`_ . : / = + - @`


| 限制 | 说明 | 
| --- | --- | 
| 每个资源的最大标签数 | 50 | 
| 最大密钥长度 | 128 个 Unicode 字符（采用 UTF-8 格式） | 
| 最大值长度 | 256 个 Unicode 字符（采用 UTF-8 格式） | 