AWS步骤功能Workflow Studio - 构建状态机的可视化工具

2021-06-18 05:50:34

AWS步骤功能允许您使用状态机构建可扩展的分布式应用程序。直到今天,建立一步函数的工作流程需要您学习和理解亚马逊状态语言(ASL)。今天,我们正在启动工作流工作室,一个低码视觉工具,可帮助您通过导向的交互式界面学习步骤功能,并允许您更快地构建和构建工作流程。

2016年12月,当推出阶段函数时,我正在迁移到无要的迁移。我的团队从为一个无服务器架构为一个传统环境构建的应用程序移动了所有业务逻辑。虽然我们尝试拥有一件事和一件事的功能,但是当我们将所有国家管理从我们的应用程序放入函数时,它们变得非常复杂。当我看到推出阶段函数时,我意识到他们会降低我们建造的无服务应用程序的复杂性。缺点是我花了大量的时间学习和写作状态机使用ASL,学习如何调用不同的AWS服务,并执行所需状态机的流操作。花了数周的工作和大量的测试来实现它。

步骤功能对于可视化分布式应用程序内的进程,但是开发这些状态机不是视觉过程。 Workflow Studio使开发人员可以轻松构建无服务器工作流程。它使开发人员能够专注于他们的高价值业务逻辑,同时减少了工作流定义和构建数据转换的时间花费编写配置代码。

工作流程工作室非常适合新的开发人员,他们是逐步函数的新开发人员,因为它减少了建立他们的第一个工作流程的时间,并提供了开发人员通过执行学习的加速学习路径。工作流工作室对在构建工作流程中经验丰富的开发人员也很有用,因为他们现在可以使用可视化工具更快地开发它们。例如,您可以使用Workflow Studio进行工作流的原型,并快速与您的利益相关方分享。或者您可以使用Workflow Studio设计状态机的样板。使用Workflow Studio时,您无需在AWS帐户中部署所有资源。您可以构建状态机并开始以其他操作完成操作,按准备就绪。

Workflow Studio简化了企业应用程序的建设,如电子商务平台,金融交易处理系统或电子保健服务。它摘要通过将AWS服务组装到工作流程中,摘要构建容错,可扩展应用程序的复杂性。由于Workflow Studio在可视化工作流程中公开了AWS服务的许多功能,因此可以易于序列和配置对AWS服务和API的呼叫,并将流过工作流程的数据进行转换。

使用Workflow Studio构建工作流程,以便在创建帐户时构建验证数据的系统。如果输入数据是正确的,系统将在持久存储中保存记录,并将电子邮件发送到管理员以确认该帐户已成功创建。如果由于验证错误而无法创建帐户,则不会存储数据,并将其发送电子邮件以通知管理员创建帐户存在问题。

有很多方法可以解决这个问题,但如果你想用最少的代码制作应用程序,并利用AWS提供的所有托管服务,你应该使用Workflow Studio设计状态机并构建集成所有托管服务。

让我向您展示使用工作流工作室创建状态机的易于易用。要开始,请转到步骤函数控制台并创建状态机。您将看到一个选项,可以使用Workflow Studio在视觉上设计新的状态机。

您可以在Workflow Studio中开始创建状态机。在左窗格,状态浏览器中,您可以查看和搜索可用的操作和流状态。操作是操作您可以使用AWS服务执行的操作,例如调用AWS Lambda函数,并使用Amazon API网关提出请求,并将消息发送到Amazon简单通知服务(SNS)主题。流量是您可以使用的状态类型,以便为您的用例提供适合的工作流程。

在页面的中心,您可以看到您目前正在处理的状态机。

调用Lambda函数的一个任务,验证提供的数据以创建帐户。

一个选择流状态,根据λ函数的结果决定要采取的操作。

创建工作流时,您不需要提前拥有所有AWS资源以开始在状态机上工作。您可以构建状态机,然后您可以稍后将定义添加到资源中。或者,正如我们在此博客文章中所做的那样,在开始在您的状态机上工作之前,您可以在AWS帐户中部署所有AWS资源。您可以将所需资源部署到您的AWS帐户中,从此无服务器应用程序模型模板。创建和部署这些资源后,可以继续此帖子中的其他步骤。

配置Lambda函数工作流程中的第一步是Lambda函数。要将其添加到状态计算机,请从操作列表中拖动调用操作,进入工作流工作室的中心,如步骤1所示。您可以在右窗格中编辑函数的配置。例如,您可以更改名称(如步骤2所示)。您还可以编辑从部署在此帐户中的功能列表中调用哪个Lambda函数,如步骤3所示。当您完成后,您可以编辑此任务的输出,如步骤4所示。

配置任务的输出非常重要,因为这些值将作为输入传递到下一个状态。我们将使用我们需要的信息(如果帐户有效),我们将构建结果对象(在这种情况下,如果帐户有效)。首先,使用输出路径清除过滤器输出,如步骤1所示。然后,可以使用结果选择器选择“转换结果”,然后在步骤2中添加JSON。然后,将此当前状态的输入与输出组合,然后发送到下一个状态为输入,选择组合输入并使用结果路径结果,如步骤3所示。我们需要输入这个状态,因为输入是帐户信息。如果验证成功,我们需要将该数据存储在DynamoDB表中。

如果需要帮助了解每个转换的情况,请在每个转换中选择信息链接。

配置Lambda函数后配置选择状态,您需要添加选择状态。选择将使用选择规则验证输入。根据应用这些规则的结果,状态机将执行执行到不同的路径。

下图显示了添加选择状态的工作流程。在步骤1中,将其从流菜单拖动。在步骤2中,您输入了一个名称。在步骤3中,您可以定义规则。对于此用例,您将拥有一个具有特定条件的规则。

此规则的条件将先前状态输出的结果与布尔常数进行比较。如果先前的状态操作返回一个true的值,则执行规则。这是你快乐的道路。在此示例中,您要验证Lambda函数的结果。如果函数验证输入数据,则验证的返回返回等于true,如此所示。

如果规则不适用,则选择状态会使默认分支运行。这是您的错误路径。

配置错误路径时出现错误时,要发送电子邮件,让管理员知道无法创建帐户。您应该在帖子中早些时候创建了一个SNS主题。确保在SNS主题中配置的电子邮件地址接受此主题的电子邮件订阅。

要添加发布消息的SNS任务,请首先搜索SNS:发布任务,如步骤1所示,然后将其拖动到状态机,如步骤2所示。将失败状态流拖到状态机,如图所示在步骤3中,使得当该执行分支完成时,状态机处于故障状态。

Workflow Studio的一个很好的功能是您可以在状态机中拖动不同的状态,并将其放在工作流的不同部分。

现在,您可以为发布消息配置SNS任务。首先,更改状态名称,如步骤4中所示。从AWS帐户中的部署中选择主题,如步骤5所示。最后,更改将在电子邮件中发送给适合您用例的消息,如步骤6所示。

配置快乐路径的快乐路径,您希望将帐户信息存储在DynamoDB表中,然后使用先前部署的SNS主题发送电子邮件。为此,请添加DynamoDB:PutItem任务,如步骤1所示,SNS:发布任务,如步骤2所示,进入状态机。您配置SNS:以与错误路径类似的方式发布任务。你只是发送一个不同的消息。为此,您可以从错误路径复制状态,将其拖到正确的位置,并使用新消息修改它。

DynamoDB:PutItem Trues将项目放入DynamoDB表中。这是一个非常方便的任务,因为我们不需要在Lambda函数内执行此操作。要配置此任务,请先更改其名称,如步骤3所示。然后,您需要配置API参数,如步骤4所示,将正确的数据放入DynamoDB表中。

{ " tablename&#34 ;:"<>&#34 ;, "项目&#34 ;: { " id&#34 ;: { " s。$&#34 ;:" $。姓名" }, " mail&#34 ;: { " s。$&#34 ;:" $。邮件" }, "工作&#34 ;: { " s。$&#34 ;:" $。工作" } } }

保存并执行状态机Workflow Studio为您创建了状态机的ASL定义,但您可以随时编辑ASL定义并在要编辑状态机时返回Visual Editor。

现在您的状态机已准备就绪,您可以运行第一个执行。 保存并开始新的执行。 启动新执行时,将显示一条消息,要求输入事件到状态机。 确保此事件的属性名为名称,邮件和工作,因为状态机的执行取决于那些。 运行状态机后,您会看到执行的可视化。 它显示了执行运行的所有步骤。 在每个步骤中,您都会看到步进输入和步进输出。 这对于调试和微调状态机非常有用。 我们的Workflow Studio路线图上有很多很大的功能。 虽然细节可能会发生变化,但我们目前正在努力为您提供视觉创建,运行甚至调试工作流执行的权力。 保持调整以获取更多信息,请随时向我们发送反馈。 Workflow Studio现在可以在所有AWS区域中使用,其中阶段功能可用。