标准工作流程与快速工作流程 - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

标准工作流程与快速工作流程

创建状态机时,选择 “标准” 或 “速” 类型。状态机的默认类型标准类型为标准的状态机称为标准工作流类型为 Express 的状态机称为 Exp ress 工作流

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

重要

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

注意

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

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

Express Workflow 非常适合高容量的事件处理工作负载,例如IoT 数据摄取、流数据处理和转换以及移动应用程序后端。它们最多可以运行五分钟。Express Workflows 采用一种at-least-once模型,在该模型中,一次执行可能会多次运行。这使得 Express Workflows 非常适合协调诸如转换输入数据和通过 PUT 操作在 Amazon DynamoDB 中存储等等等等等权能操作。Express Workflow 执行按执行次数、执行持续时间和执行时消耗的内存计费。

标准和快速工作流程可以自动启动,以响应来自亚马逊 API Gateway(大规模完全托管 API)的 HTTP 请求、IoT 规则和亚马逊 140 多个其他事件源等事件 EventBridge。

要向您部署 Express 工作流程示例Amazon Web Services 账户,请参阅 The Workshop 的模块 7-API Gateway、并行状态、Express 工作流程。Amazon Step Functions

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

标准工作流程与快速工作流程
标准工作流 快速工作流程:同步和异步
最长持续时间 一年 五分钟
支持的执行启动率 每秒每秒秒秒秒秒秒 每秒每秒秒秒秒每秒
支持的状态转换速率 每个账户每秒超过 4,000 几乎无限的无限
定价 按状态转换次数定价。每次完成执行中的一个步骤时,都会计算一次状态转换 按您运行的执行次数、持续时间和内存消耗量定价。
执行历史记录 可以使用 Step Functions API 列出和描述执行情况。可通过控制台直观调试执行情况。也可以通过在状态机上启用 CloudWatch 日志记录来在 Logs 中对其进行检查。

无限的执行历史记录,也就是说,在 5 分钟内保留尽可能多的执行历史记录条目。

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

执行语义 只执行一次工作流程。

异步快速工作流程一种t-least-once工作流程的执行。

同步快速工作流程一种t-most-once工作流程的执行。

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

Express Workflow 不支持 Job-run (.sync) 或 Callback (.waitForTaskToken) 服务集成模式。

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