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

开发选项

您可以通过多种方式实现 AWS Step Functions 状态机。

Step Functions 控制台

您可以使用 Step Functions 控制台定义状态机。您可以利用 AWS Lambda 提供任务的代码,并通过 Step Functions 控制台使用 Amazon 状态语言定义状态机,从而在云中编写复杂的状态机而无需使用本地开发环境。

创建 Lambda 状态机教程使用此方法创建简单的状态机、执行该状态机并查看其结果。

AWS 开发工具包

适用于 Java、.NET、Ruby、PHP、Python (Boto 3)、JavaScript、Go 和 C++ 的 AWS 开发工具包均支持 Step Functions。这些开发工具包提供了在各种编程语言中使用 Step Functions HTTPS API 操作的便捷方式。

您可以利用这些开发工具包库提供的 API 操作开发状态机、活动或状态机启动器。您还可以使用这些库访问可见性操作,以开发您自己的 Step Functions 监控和报告工具。

要将 Step Functions 与其他 AWS 服务结合使用,请参阅当前 AWS 开发工具包的参考文档以及用于 Amazon Web Services 的工具

注意

Step Functions 仅支持 HTTPS 终端节点。

HTTPS 服务 API

Step Functions 提供可通过 HTTPS 请求访问的服务操作。您可以使用这些操作直接与 Step Functions 通信,还可以使用任何可通过 HTTPS 与 Step Functions 通信的语言来开发自己的库。

您可以使用服务 API 操作开发状态机、工作线程或状态机启动器。您还可以通过 API 操作访问可见性操作,以开发您自己的监控和报告工具。

有关 API 操作的详细信息,请参阅 AWS Step Functions API 参考

开发环境

您必须根据计划使用的编程语言设置适用的开发环境。

例如,如果您打算使用 Java 进行 Step Functions 开发,则应在每个开发工作站上安装 Java 开发环境(例如AWS SDK for Java)。如果您使用 Eclipse IDE for Java Developers,则还应安装 AWS Toolkit for Eclipse。此 Eclipse 插件提供了在 AWS 开发中非常有用的功能。

如果您的编程语言需要运行时环境,则必须在运行这些进程的每台计算机上设置该环境。

终端节点

为了降低延迟并将数据存储在符合要求的位置,Step Functions 在不同 AWS 区域提供了终端节点。

Step Functions 中的每个终端节点都完全独立。一个状态机或活动仅存在于创建它的区域中。您在一个区域中创建的任意状态机或活动,不会与在其他区域中创建的状态机或活动分享任何数据或属性。例如,您可以在两个不同区域中注册名为 STATES-Flows-1 的状态机,但这两个状态机不会彼此共享数据或属性,因为它们相互完全独立。

有关 Step Functions 终端节点的列表,请参阅 Amazon Web Services 一般参考 中的区域和终端节点:AWS Step Functions

AWS CLI

您可以通过 AWS CLI 访问多种 Step Functions 功能。除了使用 Step Functions 控制台,AWS CLI 还提供了一种替代方法,或者,在有些情况下,可以使用 AWS Step Functions API 操作来编程。例如,您可以使用 AWS CLI 创建状态机,然后列出您的状态机。

AWS CLI 中的 Step Functions 命令让您能够启动和管理执行、轮询活动、记录任务检测信号等。有关 Step Functions 命令的完整列表、可用参数的说明以及显示它们使用方法的示例,请参阅 AWS CLI Command Reference

AWS CLI 命令与 Amazon 状态语言密切相关,因此,您可以使用 AWS CLI 来了解 Step Functions API 操作。您还可以使用现有 API 知识创建代码原型,或者从命令行执行 Step Functions 操作。

Step Functions Local

要进行测试和开发,您可以在本地计算机上安装并运行 Step Functions。使用 Step Functions Local,您可以在任何计算机上启动执行。

Step Functions 的本地版本可以在 AWS 中调用 Lambda 函数以及在本地运行这些函数。您还可以协调其他支持的 AWS 服务。有关更多信息,请参阅 设置 Step Functions Local (可下载版本)