今天,我们非常欣喜地宣布现已在 [Amazon Application Compose](https://docs.aws.amazon.com/step-functions/latest/dg/workflow-studio.html) 中推出 [Amazon Step Functions Workflow Stud](https://aws.amazon.com/cn/application-composer/) 。通过这款全新的集成应用,工作流与应用程序资源开发便可整合到统一的可视化基础设施即代码 (IaC) 生成器。
对于使用 Amazon Step Functions Workflow Studio 创建工作流与使用 Amazon Application Composer 定义资源,现支持在它们之间无缝转换。在此次新品发布时,也支持在开发过程的任何阶段创建和管理所有资源。利用 Amazon Application Composer 可视化整个应用程序,然后使用 Amazon Step Functions Workflow Studio 放大工作流详细信息;所有这些操作均在一个界面完成。
![image.png](https://dev-media.amazoncloud.cn/ff667e351b1a43279cbb583a94eff074_image.png "image.png")
### 无缝构建工作流与现代应用程序
为帮您设计和构建现代应用程序,[Amazon Application Compose](https://aws.amazon.com/cn/blogs/aws/aws-application-composer-now-generally-available-visually-build-serverless-applications-quickly/) 于 2023 年 3 月应运而生。通过 Amazon Application Composer,从由部署就绪的 IaC 支持的亚马逊云科技服务,使用可视化生成器编写和配置 Serverless 应用程序。
在构建现代应用程序的各种用例中,还需确定微服务的业务流程,将任务关键型业务流程自动化,创建响应基础设施变化的事件驱动应用程序,或构建[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail) (ML) 管道。为解决这些难题,可采用 Amazon Step Functions;这是一项完全托管的服务,它能助您轻松利用可视化工作流,协调分布式应用程序组件。为简化工作流开发,我们早在 2021 年推出 [Amazon Step Functions Workflow Stud](https://aws.amazon.com/cn/blogs/aws/aws-application-composer-now-generally-available-visually-build-serverless-applications-quickly/);这是一款低代码的可视化工具,在 220 多种亚马逊云科技服务中,非常适合利用 12000 多个 API 操作快速对工作流进行原型设计和开发。\
对于要使用 IaC 部署工作流的客户,虽然 Amazon Step Functions Workflow Studio 简化了工作流的构建过程,但又必须手动定义状态机资源,并将工作流定义迁移到 IaC 模板。
### 相得益彰:Amazon Application Composer 中的 Amazon Step Functions Workflow Studio
通过这项新集成,现可利用拖放界面,在 Amazon Application Composer 中设计 Amazon Step Functions 工作流。从原型设计到生产部署和现有工作流程及迭代,这项集成加速了处理路径。
![AgAAEVyZGhihMrzOrKRATqsuBSMuSTIc.gif](https://dev-media.amazoncloud.cn/b4975b8b73014a29901f92a7f38710d6_AgAAEVyZGhihMrzOrKRATqsuBSMuSTIc.gif "AgAAEVyZGhihMrzOrKRATqsuBSMuSTIc.gif")
先使用 Amazon Application Composer,编写现代应用程序。在画布中,通过添加 Amazon Step Functions 状态机资源,添加工作流。借助这项新功能,可通过直观界面直观设计和构建工作流,以便将工作流步骤连接到资源。
### 工作原理
我将为您逐步解说如何在 Amazon Application Composer 中使用 Amazon Step Functions Workflow Studio。在本演示中,假设需要构建工作流并与现有 Serverless API 集成,改进电子商务交易处理。
首先,导航到 Amazon Application Composer。鉴于现有一个项目,其中包含 Amazon Application Composer 中的应用程序代码和 IaC 模板,因此无需从零开始构建任何内容。
打开“菜单”,并选择“项目”文件夹,从而在本地开发计算机中打开文件。
![image.png](https://dev-media.amazoncloud.cn/0dfbee0f9f894e3b8ea578112b5f3199_image.png "image.png")
然后,选择本地文件夹路径,Amazon Application Composer 将自动检测现有的 IaC 模板。
![image.png](https://dev-media.amazoncloud.cn/e3b6383e3b024d1c80f4cc9538378e21_image.png "image.png")
然后,在画布中,Amazon Application Composer 会将图表可视化。个人比较喜欢此方法的一个原因是,Amazon Application Composer 会激活[本地同步](https://docs.aws.amazon.com/application-composer/latest/dg/reference-features-local-sync.html)模式;这样,将自动同步 IaC 模板的任何更改,并将其保存到本地项目。
此处显示了简单的 Serverless API;它在 [Amazon API Gateway](https://aws.amazon.com/cn/api-gateway/?trk=cndc-detail) 中运行,也会调用 Amazon Lambda 函数,并与 [Amazon DynamoDB](https://aws.amazon.com/cn/dynamodb/?trk=cndc-detail) 集成。
![image.png](https://dev-media.amazoncloud.cn/6d0b8afd213143079cefef88085192de_image.png "image.png")
现准备开始对 Serverless API 实施部分更改。另一个路由已在 [Amazon API Gateway](https://aws.amazon.com/cn/api-gateway/?trk=cndc-detail) 中配置,同时添加 Amazon Step Functions 状态机,以便开始构建工作流。
![image.png](https://dev-media.amazoncloud.cn/5ef92ddb5db54a7c82cdeab786f9c6f0_image.png "image.png")
此操作将在 Amazon Application Composer 画布中,打开 Step Functions Workflow Studio。Amazon Step Functions 控制台与 Workflow Studio 的体验相同。在画布中,将操作、流和模式添加到 Step Functions 状态机。
![image.png](https://dev-media.amazoncloud.cn/59a06315ac384c6ca2ce049bb9ad93e1_image.png "image.png")
开始构建工作流,这是在 Workflow Studio 中使用导出 PNG 图像导出的结果。
![image.png](https://dev-media.amazoncloud.cn/2d52b5edaf2f4da095db28ecbf67bbf3_image.png "image.png")
但作为开发人员,这恰好也是这项新功能真正发挥作用之处。在工作流定义中,利用各种亚马逊云科技资源,例如 Amazon Lambda 函数和 [Amazon DynamoDB](https://aws.amazon.com/cn/dynamodb/?trk=cndc-detail)。如需引用在 Amazon Application Composer 中定义的亚马逊云科技资源,可使用 Amazon CloudFormation 替换功能。
![image.png](https://dev-media.amazoncloud.cn/4b6721fcfd34416e99ad13b5df262a34_image.png "image.png")
借助 Amazon CloudFormation 替换功能,使用 Amazon CloudFormation 约定添加替换;对于 IaC 模板提供的值,这也是对其的动态引用。此处使用占位符替换,便于在后续步骤中将其映射到 Amazon Application Composer 画布中的亚马逊云科技资源。
此外,也可为 [Amazon DynamoDB](https://aws.amazon.com/cn/dynamodb/?trk=cndc-detail) 表定义 Amazon CloudFormation 替换。
![image.png](https://dev-media.amazoncloud.cn/2fa45624d1cc423ab064b358120cb3a0_image.png "image.png")
在该阶段,工作流让人满意。要查看作为 [Amazon Step Function](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html) 状态机定义的亚马逊云科技状态语言,也可打开“代码”选项卡。现无需手动将此定义复制并粘贴到 IaC 模板。仅保存工作仅可,然后选择“返回 Application Composer”。
![image.png](https://dev-media.amazoncloud.cn/940f7eed9c05496884b9138e1c8229bb_image.png "image.png")
此处显示了在可视化图表和状态机定义部分中,Amazon Step Functions 状态机已完成更新。
![image.png](https://dev-media.amazoncloud.cn/ec8e0a2cd06a4357b68eb30fd64cc86c_image.png "image.png")
对于在 Workflow Studio 中定义的资源,如果向下滚动,将找到该资源的 Amazon Cloudformation 定义替换。即可在此处手动替换映射,也可以使用画布。
![image.png](https://dev-media.amazoncloud.cn/6a3fb7397598418cb0200a649d3d9c05_image.png "image.png")
要使用画布,仅需将相应的资源拖放到 Step Functions 状态机和 Application Composer 画布。`连接 Inventory Process`任务状态与新 Amazon Lambda 函数。此外,Step Functions 状态机任务可引用现有资源。
![image.png](https://dev-media.amazoncloud.cn/96fe0f06bd1e4a11879fc986c8682376_image.png "image.png")
在选择“模板”时,状态机定义会集成其他 Amazon Application Composer 资源。通过该 IaC 模板,使用 Amazon Serverless 应用程序模型命令行界面 (Amazon SAM CLI) 或 CloudFormation 轻松部署。
![image.png](https://dev-media.amazoncloud.cn/1c73dd143828424383a578affa71c5ad_image.png "image.png")
### 须知
以下是一些其他信息:
定价 — Amazon Application Composer 中的 Amazon Step Functions Workflow Studio 无需另行付费。
可用性 — 所有提供 Application Composer 的亚马逊云科技区域均可使用此功能。
Amazon Application Composer 中的 Amazon Step Functions Workflow Studio 简化使用体验,可将工作流程集成到现代应用程序。
请开始使用;有关此功能的更多信息,请访问[ Amazon Application Compose](https://docs.aws.amazon.com/application-composer/latest/dg/using-composer-services-sf.html?trk=fb5df19e-9e79-4747-a1f5-bea0e4af88ae&sc_channel=el) 页面。
使用愉快!
文章来源:
https://aws.amazon.com/blogs/aws/aws-step-functions-workflow-studio-is-now-available-in-aws-application-composer/