AWS Step Functions
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

限制

AWS Step Functions 对特定状态机参数的大小施加了限制,例如您在特定时间段内可以执行的 API 操作数或您可以定义的状态机数。虽然这些限制旨在防止错误配置的状态机消耗系统的所有资源,但是其中的很多限制并不是硬限制。

注意

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

一般限制

限制 描述

Step Functions 中的名称

状态机名称、执行名称和活动名称的长度必须是 1–80 个字符,在您的账户和 AWS 区域中必须是唯一的,并且不得包含以下任何内容:

  • 空格

  • 通配符 (? *)

  • 括号字符 (< > { } [ ])

  • 特殊字符 (: ; , \ | ^ ~ $ # % & ` ")

  • 控制字符 (\\u0000 - \\u001f\\u007f - \\u009f)。

Step Functions 允许您创建包含非 ASCII 字符的状态机、执行和活动名称。这些非 ASCII 名称不适用于 Amazon CloudWatch。为确保您可以跟踪 CloudWatch 指标,请选择一个只使用 ASCII 字符的名称。

与账户相关的限制

限制 描述

已注册活动的最大数量

10000

已注册状态机的最大数量 10000

最大 API 操作数

除了少见的峰值以外,如果应用程序在很短时间内执行大量 API 操作,则可能会受到限制。

最大请求大小

每个请求 1 MB.这是每个 Step Functions API 请求的总数据大小,包括请求标头以及所有其他关联的请求数据。

与状态机执行相关的限制

限制 描述

打开的最大执行数

1,000,000。超过此限制会导致 ExecutionLimitExceeded 错误。

最长执行时间

1 年.如果执行运行的时间超过 1 年的限制,它将失败并显示 States.Timeout 错误,同时发出 ExecutionsTimedout CloudWatch 指标。

最大执行历史记录大小

25000 个事件。如果执行历史记录达到此限制,则执行将失败。要避免这种情况,请参阅避免达到历史记录的限制

最长执行空闲时间

1 年 (受执行时间限制约束)

最长执行历史记录保留时间

90 天.此时间过后,无法再检索或查看执行历史。对 Step Functions 保留的已关闭执行数没有进一步的限制。

与任务执行相关的限制

限制 描述

最长任务执行时间

1 年 (受执行时间限制约束)

Step Functions 在队列中保留任务的最长时间

1 年 (受执行时间限制约束)

每 Amazon 资源名称 (ARN) 的最大活动轮询器数目

每 ARN 1000 个调用 GetActivityTask 的轮询器。超出此限制将导致以下错误:“The maximum number of workers concurrently polling for activity tasks has been reached (已达到并发轮询活动任务的最大工作线程数目)。”

任务、状态或执行的最大输入或结果数据大小

32,768 个字符.此限制影响计划任务、进入状态或启动执行时的任务(活动或 Lambda 函数)、状态或执行结果数据以及输入数据。

与 API 操作限制相关的限制

一些 Step Functions API 操作会使用令牌存储桶方案进行限制,以便维护服务带宽。

注意

限制针对每个账户和每个 AWS 区域。AWS Step Functions 随时可能增加存储桶大小和重填速率。不要依赖这些限制速率来控制成本。

API 名称 存储桶大小 重填速率 (每秒)
CreateActivity 100 1
CreateStateMachine 100 1
DeleteActivity 100 1
DeleteStateMachine 100 1
DescribeActivity 200 1
DescribeExecution 200 2
DescribeStateMachine 200 1
DescribeStateMachineForExecution 100 1
GetActivityTask 1000 25
GetExecutionHistory 250 5
ListActivities 100 1
ListExecutions 100 2
ListStateMachines 100 1
SendTaskFailure 1000 25
SendTaskHeartbeat 1000 25
SendTaskSuccess 1000 25
StartExecution在美国东部(弗吉尼亚北部)、美国西部(俄勒冈)和欧洲(爱尔兰)中 1000 200
StartExecution所有其他区域 500 25
StopExecution在美国东部(弗吉尼亚北部)、美国西部(俄勒冈)和欧洲(爱尔兰)中 1000 200
StopExecution所有其他区域 500 25
UpdateStateMachine 200 1

与状态限制相关的限制

Step Functions 状态转换使用令牌存储桶方案进行限制,以便维护服务带宽。

注意

在 Amazon CloudWatch 中,StateTransition 服务指标的限制将报告为 ExecutionThrottled。有关更多信息,请参阅 ExecutionThrottled CloudWatch 指标

服务指标 存储桶大小 重填速率 (每秒)

StateTransition在美国东部(弗吉尼亚北部)、美国西部(俄勒冈)和欧洲(爱尔兰)中

5000

1000

StateTransition所有其他区域

800

400

与标记相关的限制

在标记 Step Functions 资源时,请注意以下限制。

注意

标记限制不能像其他限制一样提高。

限制 描述

每个资源的最大标签数

50

最大密钥长度

128 个 Unicode 字符(采用 UTF-8 格式)

最大值长度

256 个 Unicode 字符(采用 UTF-8 格式)

前缀限制

请勿在标签名称或值中使用 aws: 前缀,因为它专为 AWS 使用预留。您无法编辑或删除带此前缀的标签名称或值。具有此前缀的标签不计入每个资源的标签数限制。

字符限制

标签只能包含 unicode 字母、数字、空格或以下符号:_ . : / = + - @

申请提高限制

使用 AWS 管理控制台中的支持中心页面可按区域申请提高 AWS Step Functions 提供的资源的限制。有关更多信息,请参阅 AWS General Reference 中的申请提高限制