标准和快速工作流 - AWS Step Functions

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

标准和快速工作流

创建状态机时,您必须选择标准快速类型。状态机的默认类型标准类型标准的状态机称为标准工作流类型快速的状态机被称为快速工作流

对于标准工作流和快速工作流,您都可以使用 Amazon States Language 来定义状态机。根据您选择的类型,状态机的执行行为会有所不同。

重要

创建状态机后,无法更改您选择的类型

注意

如果您在 Step Functions 控制台之外定义状态机,例如在自己选择的编辑器中,则必须以 .asl.json 扩展名保存状态机定义。

标准工作流非常适合长时间运行(最长一年)、持久且可审计的工作流。在执行完成后,您可以使用 Step Functions API 检索 90 天内的完整执行历史记录。标准工作流遵循仅一次 模型,在这种模型中,除非您在 ASL 中指定了 Retry 行为,否则任务和状态的运行次数永远不会超过一次。这使得标准工作流适合于编排非幂等操作,例如启动 Amazon EMR 集群或处理付款。标准工作流执行将根据处理的状态转换次数计费。

快速工作流是适用于大批量事件处理工作负载,例如 IoT 数据摄取、流数据处理和转换以及移动应用程序后端。它们最多可以运行五分钟。快速工作流采用至少一次 模型,在这种模式下,一次执行可能会运行多次。这使得快速工作流非常适合编排幂等操作,例如转换输入数据和通过 PUT 操作存储到 Amazon DynamoDB 中。快速工作流的执行按执行次数、执行持续时间和执行运行时消耗的内存计费。

标准和快速工作流可以自动启动以响应事件,例如来自 Amazon API Gateway 进行的 HTTP 请求(大规模完全托管的 API)、IoT 规则以及 Amazon EventBridge 中超过 140 个事件源。

提示

要将快速工作流的示例部署到 AWS 账户,请参阅《AWS Step Functions 研讨会》中的模块 7 - API Gateway、Parallel 状态、快速工作流

有关标准和快速工作流执行的控制台体验的信息,请参阅控制台中的标准和快速工作流执行

标准和快速工作流
标准工作流 快速工作流程:同步和异步
最长持续时间 一年 五分钟
支持的执行启动率

有关与支持的执行启动率相关的配额信息,请参阅与 API 操作限制相关的配额

有关与支持的执行启动率相关的配额信息,请参阅与 API 操作限制相关的配额

支持的状态转换速率

有关与支持的状态转换速率相关的配额信息,请参阅与状态限制相关的配额

无限制
定价 按状态转换次数定价。每完成一个执行步骤,就会计算一次状态转换 按运行的执行次数、执行时长和内存消耗量来定价。
执行历史记录

可以使用 Step Functions API 列出和描述执行情况。您可通过控制台对执行进行可视化调试。您也可以通过在状态机上启用日志能在 CloudWatch Logs 中检查执行情况。

有关在控制台中调试标准工作流执行的更多信息,请参阅控制台中的标准和快速工作流执行查看和调试执行

无限制的执行历史记录,即在 5 分钟内生成多少条执行历史记录,就会保留多少条执行历史记录。

通过在状态机上启用日志记录功,可在 CloudWatch Logs 或 Step Functions 控制台中检查执行情况。

有关在控制台中调试快速工作流执行的更多信息,请参阅控制台中的标准和快速工作流执行查看和调试执行

执行语义 仅一次 工作流执行。

异步快速工作流至少一次 工作流执行。

同步快速工作流程至多一次 工作流执行。

服务集成 支持所有服务集成和模式。 支持所有服务集成。
注意

快速工作流不支持任务运行 (.sync) 或 回调 (.waitForTaskToken) 服务集成模式。

Step Functions 活动 支持 Step Functions 活动。 不支持 Step Functions 活动。