本文档列出了适用于 Workflows 的配额和系统限制。 配额用于指定您可以使用的可计数共享资源数量,由 Google Cloud 服务(例如 Workflows)定义。 系统限制是无法更改的固定值。
Google Cloud 使用配额来帮助确保公平性并减少资源使用和可用性的激增。配额用于限制您的 Google Cloud 项目可使用的 Google Cloud 资源的数量。配额适用于一系列资源类型,包括硬件、软件和网络组件。例如,配额可以限制对某项服务的 API 调用次数、您的项目并发使用的负载均衡器数量或者您可以创建的项目数量。配额可以防止服务过载,从而保护 Google Cloud 用户社区。配额还可帮助您管理自己的 Google Cloud 资源。
Cloud 配额系统执行以下操作:
- 监控 Google Cloud 产品和服务的消耗情况
- 限制这些资源的消耗量
- 提供一种请求更改配额值的方法
在大多数情况下,当您尝试消耗的资源超出其配额允许的范围时,系统会阻止对资源的访问,并且您尝试执行的任务会失败。
配额通常在 Google Cloud 项目级层应用。您在一个项目中使用资源不会影响您在另一个项目中的可用配额。在 Google Cloud 项目中,配额在所有应用和 IP 地址间共享。
Workflows 资源也存在系统限制。 这些系统限制与配额系统无关。系统限制不能 更改。
配额
Workflows 对每个 Google Cloud 项目实施以下配额。您可以增加或减少这些配额:
配额 | 说明 | 值 |
---|---|---|
工作流总数 | 每个项目可以部署的工作流数上限 | 10000 |
并发执行次数 | 每个区域每个项目的有效工作流执行次数上限。并发执行是指已开始但尚未启动的执行 包括尚未完成或已失败的操作,包括正在等待回调或 都在睡觉 达到配额后,如果执行回推处于启用状态,系统会以 |
10000 |
积压的执行 | 每个区域每个项目的积压工作流执行次数上限。
如需了解详情,请参阅 管理执行积压。 |
100000 |
Workflow API 请求 | 您项目中所有工作流的 API 请求(create 、update 、list 、get 和 delete )数上限(每分钟每个位置) |
1200 |
Execution API get 请求 | 对 get 的请求次数上限
项目中所有工作流的工作流执行作业数(每分钟
位置) |
6000 |
Execution API list 请求 | 针对您项目中所有工作流的 list 工作流执行发出的请求数上限(每分钟每个位置) |
1200 |
Execution API write 请求 | 针对您项目中所有工作流的 create 和 cancel 工作流执行(包括 Eventarc 触发的执行)发出的请求数上限(每个位置每分钟)。如果 Eventarc 触发的执行次数超出此上限,系统会根据 Eventarc 重试政策重试事件。 |
6000 |
Execution API get step entries 请求 | 对
get
工作流执行的步骤条目(每个位置每分钟) |
6000 |
Execution API 列表步骤条目请求 | 对工作流执行中的 list 步骤条目的请求数量上限(每个位置每分钟) |
1200 |
Execution API 导出数据请求 | 对工作流执行发出的 export data 请求的数量上限(每个位置每分钟) |
10 |
HTTP 请求发送到 回调端点 | 针对您项目中所有工作流的执行资源发出的 SendHttpCallback API 请求数上限(每分钟每个位置) |
1500 |
Execution API 列出回调请求 | 对工作流执行发出的 list 回调的请求数上限(每个位置每分钟) |
300 |
配额增加请求
如需增加或减少配额,请使用 Google Cloud 控制台。如需了解详情,请参阅申请更高配额。
步数限制
Workflows 会对每个工作流程设有以下步数限制。您无法申请更改以下限制:
限制 | 说明 | 值 |
---|---|---|
每个步骤的分配数量 | 最大数量 作业 只需一步即可执行 | 50 |
每个切换的条件数量 | 在一次评估中可以评估的条件数量上限 切换区块 | 50 |
调用堆栈深度上限 | 调用函数的层级数上限;例如,子工作流调用自身或其他子工作流;或标准库函数调用,这些调用又会调用其他函数 | 20 |
步数下限 | 工作流中的步数下限 | 1 |
步数上限 | 可在单个工作流执行过程中执行的步数上限 | 100000 |
并行步骤限制
使用并行步骤时,Workflows 会实施以下限制。 您无法请求更改这些限制:
限制 | 说明 | 值 |
---|---|---|
每个步骤的分支数 | 并行步骤中支持的分支数量上限 | 10 |
平行深度 | 并行步骤可以嵌套的最大深度 | 2 |
并发分支和迭代 | 单个工作流执行期间可并发执行的分支和迭代数量上限,超出此数量后,系统会自动将其他分支和迭代加入队列,等待一个或多个正在运行的线程完成。 对总线程数没有限制;但需遵守所有其他限制 |
20 |
并行步骤中未捕获的异常 | 工作流执行期间可以引发的未处理异常的数量上限(总计) | 100 |
资源限制
Workflows 实施以下用量限制。您无法申请更改以下限制:
限制 | 说明 | 值 |
---|---|---|
源代码大小 | 用于定义工作流的 YAML 或 JSON 文件的大小上限 | 128KB |
响应大小 | HTTP 响应的大小上限(如果保存到变量,则变量的内存限制适用) | 2 MB |
表达式长度 | 单个表达式中的字符数上限 | 400 个字符 |
数据大小 | 变量、参数和事件的累计大小上限: | 512 KB |
|
||
|
||
|
||
使用 UTF-8 编码的字符串的最大长度(以字节为单位) | 256 KB | |
环境变量 | 的大小上限
用户定义的环境变量定义字符串
(KEY=value );最多可以定义 20 个变量 |
4 KiB |
执行时长 | 工作流执行的时长上限(从开始时间到结束时间);任何超出此限制的工作流最后都会出现超时错误 | 1 年 |
执行保留期限 | 的最长保留期限(工作流执行完成后) 执行的历史记录和结果 | 90 天 |
去重时段 | 删除重复信息窗口,确保在发生问题时 触发工作流执行 事件 | 24 小时 |