本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用快速工作流实现成本优化
Step Functions 根据您用来构建状态机的工作流类型来确定标准和快速工作流的定价。要优化无服务器工作流的成本,您可以遵循以下一项或两项建议:
有关选择标准或快速工作流类型如何影响账单的信息,请参阅Amazon Step Functions 定价
提示 #1:在标准工作流中嵌套快速工作流
Step Functions 运行的工作流具有有限的持续时间和步骤数量。有些工作流可能会在短时间内完成执行。另一些工作流可能需要将长时间运行的工作流和高事件率的工作流结合起来。借助 Step Functions,您可以利用多个更小、更简单的工作流来构建大型复杂的工作流。
例如,要构建订单处理工作流,您可以将所有非幂等操作包含到标准工作流中。这可能包括通过人际互动批准订单和处理付款等操作。然后,您可以在快速工作流中组合一系列幂等操作,例如发送付款通知和更新产品库存。您可以将此快速工作流嵌套在标准工作流中。在此示例中,标准工作流被称为父状态机。嵌套的快速工作流被称为子状态机。
提示 #2:将标准工作流转换为快速工作流
如果现有标准工作流满足以下要求,则可以将其转换为快速工作流:
-
工作流必须在五分钟内完成执行。
-
该工作流符合至少一次的执行模型。这意味着工作流中的每个步骤都可能运行不止一次。
-
工作流不使用
.waitForTaskToken
或.sync
服务集成模式。
重要
快速工作流使用 Amazon CloudWatch Logs 来记录执行历史记录。使用 CloudWatch Logs 时,将产生额外费用。
使用控制台将标准工作流转换为快速工作流
-
在状态机页面上,选择一个标准类型的状态机将其打开。
提示
从任意类型下拉列表中,选择标准以筛选状态机列表,并仅查看标准工作流。
-
选择复制到新项目。
Workflow Studio 在设计模式下打开,显示所选状态机的工作流。
-
(可选)更新工作流设计。
-
为状态机指定一个名称。要执行此操作,请选择默认状态机名称 MyStateMachine 旁边的编辑图标。然后,找到状态机配置,在状态机名称框中指定一个名称。
-
(可选)在状态机配置中,指定其他工作流设置,例如状态机类型及其执行角色。
确保在类型中选择快速。保留状态机设置中的所有其他默认选项。
注意
如果您要转换之前在 Amazon CDK 或 Amazon SAM 中定义的标准工作流,则必须更改
Type
和Resource
名称的值。 -
在确认角色创建对话框中,选择确认继续。
您也可以选择查看角色设置,返回至状态机配置。
注意
如果您删除了 Step Functions 创建的 IAM 角色,Step Functions 在以后无法重新创建该角色。同样,如果您修改了该角色(例如,通过在 IAM 策略中从主体中删除 Step Functions),Step Functions 在以后也无法还原其原始设置。
有关管理工作流成本优化时的最佳实操和指南的更多信息,请参阅构建经济高效的 Amazon Step Functions 工作流