本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程 6:保存工作流并执行状态机
现在,您已经配置了工作流程原型中使用的所有资源,可以将其另存为 Step Functions 状态机并开始执行。 Amazon Web Services
第 1 步:查看自动生成的状态机定义并保存状态机
当您将状态从流选项卡中拖放到 Workflow Studio 的画布上,构建工作流原型时,Step Functions 会自动实时撰写工作流的 Amazon States Language (ASL) 定义。您可以根据需要在代码编辑器中编辑此定义。
查看 ASL 定义并保存状态机
-
(可选)在 Inspector 上选择定义,查看状态机 Amazon States Language (ASL) 定义,该定义是根据您在操作和流选项卡以及 Inspector 面板中的选择自动生成的。
提示
要编辑定义,您可以通过选择页面顶部的代码来打开代码编辑器。在本教程中,请使用自动生成的定义继续操作。
-
为状态机指定一个名称。为此,请选择默认状态机名称旁边的编辑图标MyStateMachine。然后,找到状态机配置,在状态机名称框中指定一个名称。
对于本教程,请输入名称
CreditCardWorkflow
。 -
(可选)在状态机配置中,指定其他工作流设置,例如状态机类型及其执行角色。
在本教程中,请保留状态机设置中的所有默认选项。
注意
(可选)Step Functions 会自动为状态机创建一个执行角色,该角色具有调用
RandomNumberforCredit
Lambda 函数并发布到 Amazon SNS 主题所需的最低权限。如果您之前为状态机创建了具有正确权限的 IAM 角色并想使用该角色,请在权限中选择选择现有角色,然后从列表中选择一个角色。或者选择输入角色 ARN,然后为该 IAM 角色的 ARN 获取该角色。
-
在确认角色创建对话框中,选择确认继续。
您也可以选择查看角色设置,返回至状态机配置。
注意
如果您删除了 Step Functions 创建的 IAM 角色,Step Functions 在以后无法重新创建该角色。同样,如果您修改了该角色(例如,通过在 IAM 策略中从主体中删除 Step Functions),Step Functions 在以后也无法还原其原始设置。
第 2 步:添加剩余的 IAM 策略
由于 Step Functions 不会自动生成在 Parallel
状态下调用 Lambda 函数的权限,因此您需要添加必要的策略。
添加剩余的策略
-
在该CreditCardWorkflow页面上,为您的状态机选择 IAM 角色以导航到 IAM 控制台。您将在此页面上为其余 Lambda 函数添加必要的权限。
-
选择添加权限,然后选择附加策略。
-
在搜索框中,输入
AWSLambdaRole
,然后按 Enter 键。 -
选择 AWSLambdaRole,然后选择 “附加策略”。现在,此策略已添加到状态机的执行角色中。此策略允许您在状态机中调用任何 Lambda 函数。
第 3 步:运行状态机
状态机执行是指运行工作流执行任务的实例。
执行状态机
-
在CreditCardWorkflow页面上,选择 “开始执行”。
随即显示启动执行对话框。
-
在启动执行对话框中,执行以下操作:
-
(可选)要识别您的执行,您可以在名称框中为其指定一个名称。默认情况下,Step Functions 会自动生成一个唯一的执行名称。
注意
Step Functions 允许您为状态机、执行、活动和包含非 ASCII 字符的标签创建名称。这些非 ASCII 名称不适用于亚马逊。 CloudWatch为确保您可以跟踪 CloudWatch 指标,请选择一个仅使用 ASCII 字符的名称。
注意
您无需提供任何输入,即可执行此状态机。但是,如果需要,您可以在其他状态机的启动执行对话框的输入区域中指定执行输入。有关如何向状态机提供执行输入的示例,请参阅第 4 步:开始重新执行学习使用 Workflo Amazon Step Functions w Studio 教程。
-
选择启动执行。
-
-
Step Functions 控制台会将您引导到一个以您的执行 ID 为标题的页面。该页面被称为执行详细信息页面。在此页面上,您可以随着执行的进展或者在执行完成后查看执行结果。
要查看执行结果,请在图表视图上选择各个状态,然后在步骤详细信息窗格中选择各个选项卡,分别查看每个状态的详细信息,包括输入、输出和定义。有关可在执行详细信息页面上查看的执行信息的详细信息,请参阅“执行详细信息”页面 – 界面概述。