亚马逊AWS官方博客

AWS Step Functions Workflow Studio 现已在 AWS 应用程序编辑器中推出



今天,我们宣布,AWS Step Functions Workflow Studio 现已在 AWS 应用程序编辑器中推出。这一新的集成将工作流和应用资源的开发整合到一个统一的可视化基础设施即代码(IaC)生成器中。

现在,您可以在使用 AWS Step Functions Workflow Studio 创作工作流和使用 AWS 应用程序编辑器定义资源之间实现无缝过渡。此次推出允许您在开发过程的任何阶段创建和管理所有资源。您可以在 AWS 应用程序编辑器中对整个应用程序进行可视化,然后使用 AWS Step Functions Workflow Studio 放大工作流细节,所有这些都在一个界面内完成。

无缝构建工作流和现代应用程序
为了帮助您设计和构建现代应用程序,我们于 2023 年 3 月推出了 AWS 应用程序编辑器。借助 AWS 应用程序编辑器,您可以使用可视化构建器从由部署就绪的 IaC 支持的 AWS 服务编写和配置无服务器应用程序。

在构建现代应用程序的各种用例中,您可能还需要协调微服务、自动化关键业务流程、创建响应基础架构变化的事件驱动型应用程序或构建机器学习 (ML) 管道。要解决这些难题,您可以使用 AWS Step Functions,这是一种完全托管的服务,可让您更轻松地使用可视化工作流协调分布式应用程序组件。为了简化工作流开发,我们在 2021 年推出了 AWS Step Functions Workflow Studio,这是一款低代码可视化工具,用于对来自 220 多个 AWS 服务的 12,000 多个 API 操作进行快速工作流原型设计和开发。

尽管 AWS Step Functions Workflow Studio 简化了工作流的构建,但想要使用 IaC 部署工作流的客户必须手动定义其状态机资源并将其工作流定义迁移到 IaC 模板。

组合起来更好:AWS 应用程序编辑器中的 AWS Step Functions Workflow Studio
通过这一新集成,您现在可以在 AWS 应用程序编辑器中使用拖放界面设计 AWS Step Functions 工作流。这加速了从原型设计到生产部署以及对现有工作流进行迭代的过程。

您可以先使用 AWS 应用程序编辑器编写现代应用程序。在画布中,您可以通过添加 AWS Step Functions 状态机资源来添加工作流。这项新功能使您能够通过简单易用的界面直观地设计和构建工作流,从而将工作流步骤与资源联系起来。

工作原理
让我来向您介绍如何在 AWS 应用程序编辑器中使用 AWS Step Functions Workflow Studio。在这个演示中,假设我需要通过构建工作流以及与我现有的无服务器 API 集成来改进电子商务交易的处理。

首先,我导航到 AWS 应用程序编辑器。 因为我已经有一个包含来自 AWS 应用程序编辑器的应用程序代码和 IaC 模板的现有项目,所以我不需要从头开始构建任何内容。

我打开菜单并选择项目文件夹以打开本地开发计算机中的文件。

然后,我选择本地文件夹的路径,AWS 应用程序编辑器会自动检测我当前拥有的 IaC 模板。

然后,AWS 应用程序编辑器在画布中对图表进行可视化。我最喜欢这种方法的一点是,AWS 应用程序编辑器会激活本地同步模式,该模式会自动同步 IaC 模板中的任何更改并将其保存到我的本地项目中。

这里,我有一个在 Amazon API Gateway 上运行的简单的无服务器 API,它调用 AWS Lambda 函数并与 Amazon DynamoDB 集成。

现在,我准备对我的无服务器 API 进行一些更改。我在 Amazon API Gateway 上配置了另一个路由,并添加了 AWS Step Functions 状态机来开始构建我的工作流。

当我配置 Step Functions 状态机时,我可以通过选择在 Workflow Studio 中编辑开始编辑我的工作流。

这将在 AWS 应用程序编辑器画布中打开 Step Functions Workflow Studio。我的体验与在 AWS Step Functions 控制台中使用 Workflow Studio 相同。我可以使用画布将操作、流程和模式添加到我的 Step Functions 状态机中。

我开始构建我的工作流,这是我在 Workflow Studio 中使用导出 PNG 图像导出的结果。

但作为开发人员,我发现这项新功能真正有帮助的地方就在这里。在工作流定义中,我使用了各种 AWS 资源,例如 AWS Lambda 函数和 Amazon DynamoDB。如果我需要引用我在 AWS 应用程序编辑器中定义的 AWS 资源,我可以使用 AWS CloudFormation 替换项。

借助 AWS CloudFormation 替换项,我可以使用 AWS CloudFormation 约定添加替换项,该约定是对 IaC 模板中提供的值的动态引用。我在这里使用的是占位符替换项,因此我可以在稍后的步骤中将其与 AWS 应用程序编辑器画布中的 AWS 资源进行映射。

我还可以为我的 Amazon DynamoDB 表定义 AWS CloudFormation 替换项。

目前为止,我对自己的工作流很满意。要查看作为我的 AWS Step Functions 状态机定义的 Amazon States Language,我还可以打开代码选项卡。现在我不需要手动将这个定义复制并粘贴到 IaC 模板中。我只需要保存我的工作并选择返回应用程序编辑器即可。

这里,我可以看到我的 AWS Step Functions 状态机在可视化图表和状态机定义部分均已更新。

向下滚动时,我会发现我在 Workflow Studio 中所定义资源的 AWS Cloudformation 定义替换项。我可以在这里手动替换映射,也可以使用画布。

要使用画布,我只需将相应的资源拖放到我的 Step Functions 状态机和应用程序编辑器画布中即可。在这里,我将清单流程任务状态与新的 AWS Lambda 函数连接起来。此外,我的 Step Functions 状态机任务也可以引用现有资源。

当我选择模板时,状态机定义会与其他 AWS 应用程序编辑器资源集成。有了这个 IaC 模板,我可以使用 AWS 无服务器应用程序模型命令行界面 (AWS SAM CLI) 或 CloudFormation 轻松进行部署。

注意事项
以下是一些其他信息供您参考:

定价 — AWS 应用程序编辑器中的 AWS Step Functions Workflow Studio 不收取任何额外费用。

可用性 — 此功能适用于所有提供应用程序编辑器的 AWS 区域。

AWS 应用程序编辑器中的 AWS Step Functions Workflow Studio 为您提供了一种易于使用的体验,可将您的工作流集成到现代应用程序中。在 AWS 应用程序编辑器页面上开始使用此功能并了解有关此功能的更多信息。

祝大家构建顺利!
— Donnie