本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用工作工作工作工作工作流程
学习使用 Step Functions 工作流工作室创建、编辑和运行工作流程。工作流程准备就绪后,您可以将其导出。您也可以使用 Workflow Studio 进行快速原型设计。
创建工作流程
-
登录 Ste p Functions 控制台
。 -
选择 Create state machine (创建状态机)。
-
在 “选择创作方法” 页面上,选择 “直观地设计工作流程”。
-
在 “类型” 下,选择
Standard
或Express
,然后选择 “下一步”。Standard
建议在你的第一台状态机上使用。 -
使用 Workflow Studio 设计工作流程,然后选择 “下一步”。
注意 如果您在工作流程中发现错误,可以留在 Workflow Studio 中更正错误,也可以继续执行下一步并更正代码中的错误。
-
在 “查看生成的代码” 页上,您可以查看生成的工作流程的 Amazon States 语言定义。如果需要进行更改,可以在 Definition (定义) 中。您也可以在 “生成代码片段” 下访问代码片段。
-
选择 Next(下一步)。
-
在 R ame (名称) 中,输入状态机,例如
。MyStateMachine
注意 状态机、执行和活动名称的长度必须为 1—80 个字符,对于您的账户和Amazon区域必须是唯一的,并且不得包含以下任何内容:
-
空格
-
通配符 (
? *
) -
方括号字符 (
< > { } [ ]
) -
特殊字符 (
: ; , \ | ^ ~ $ # % & ` "
) -
控制字符(
\\u0000
-\\u001f
或\\u007f
-\\u009f
)。
如果您的状态机是 Express 类型,则可以为状态机的多次执行提供相同的名称。Step Functions 会为每次 Express 状态机执行生成唯一的执行 ARN,即使多个执行具有相同的名称。
Step Functions 允许您创建包含非 ASCII 字符的状态机、执行和活动名称。这些非 ASCII 名称不适用于亚马逊 CloudWatch。为确保您可以跟踪 CloudWatch 指标,请选择仅使用 ASCII 字符的名称。
-
-
在 “执行角色” 的 “权限” 部分下,选择 “创建新角色”。
-
选择 Create state machine (创建状态机)。
您现在可以运行新的工作流程。
设计工作流程
如果您知道要添加的状态的名称,请使用状态浏览器顶部的搜索框在 “操作” 和 “流程” 面板中查找该状态。

否则,从状态浏览器中选择一个状态,然后将其拖放到画布上,将其放置在工作流程中所需的位置。您也可以通过将工作流中的状态拖动到工作流程中的其他位置来对其重新排序。将状态拖到画布上时,只要你能将其拖放到工作流程中,就会出现一条直线。将状态拖放到画布上后,其代码会自动生成并添加到您的工作流程定义中。

将状态拖放到画布上后,可以使用右侧的 “表单” 面板对其进行配置。此面板还包含您在画布上放置的每个状态或 API 操作的 “配置”、“输入”、“输入”、“输出” 和 “错误处理” 选项卡。例如,Lambda Invoke API 操作的 “配置” 选项卡由以下部分组成:

-
州名称标识该州。您可以使用自己的名称,也可以接受默认生成的名称。
-
API 显示该操作使用了哪个 API。
-
集成类型下拉列表提供了选择 Step Functions 中可用的服务集成类型的选项。您选择的集成类型用于从工作流程中调用特定Amazon服务的 API 操作。
-
函数名称提供以下选项:
-
输入函数名称:您可以输入函数名称或其 ARN。
-
在运行时从状态输入中获取函数名称:您可以使用此选项根据您指定的路径从状态输入中动态获取函数名称。
-
选择函数名称:您可以直接从您的账户和地区可用的功能中进行选择。
-
-
负载允许您从以下选项中进行选择:
-
使用状态输入作为有效负载您可以使用此选项将状态的输入作为提供给您的 Lambda 函数的有效负载传递。
-
输入您自己的负载,您可以使用此选项构造一个 JSON 对象,将其作为有效负载传递给您的 Lambda 函数。此 JSON 可以包含静态值和从状态输入中选择的值。
-
无负载如果您不想将任何负载传递给 Lambda 函数,则可以使用此选项。
-
-
下一个状态允许您选择要过渡到下一个状态的状态。
-
(可选)“评论” 字段可用于添加您自己的评论。它不会影响工作流程,但可用于为您的工作流程添加注释。
-
(可选)某些州可以选择 “等待任务完成” 或 “等待回调”。如果可用,这些选项会选择以下服务集成模式之一:
-
未选择任何选项:Step Functions 将使用请求响应集成模式。Step Functions 将等待 HTTP 响应,然后进入下一个状态。Step Functions 不会等待任务完成。当没有可用选项时,该州将使用此模式。
-
等待任务完成:Step Functions 将使用运行作业 (.sync)集成模式。
-
等待回调:Step Functions 将使用等待具有任务令牌的回调集成模式。
-
有些州将有更多通用的配置选项。例如,Amazon ECSRunTask
状态配置包含一个填充占位符值的API Parameters
字段。

对于这些状态,您可以将占位符值替换为适合您需求的配置。
要删除状态,您可以使用退格,右键单击并选择删除状态,或者使用表单并选择删除状态。

随着工作流程的发展,它可能不适合画布。您可以:
-
使用侧面板上的控件调整面板大小或关闭面板。
-
使用画布顶部的控件放大或缩小工作流程图表。

运行工作流程
使用 Workflow Studio 创建或编辑工作流程后,可以运行该工作流程并在 Ste p Functions 控制台
-
在 Step Functions 控制台中选择您的工作流程。
-
选择 Start execution (开始执行)。S art revision (开始执行) 对话框出现。
-
选择 “开始执行” 以运行工作流程。
-
您可以在图表检查器中查看每种状态的执行结果。选择每个步骤以查看有关其执行的详细信息。
编辑工作流程
您可以使用 Workflow Studio 直观地编辑现有工作流程,也可以在代码中编辑现有工作流程。要编辑现有工作流程,请执行以下操作:
-
选择要编辑的工作流程。
-
选择 Edit(编辑)。
-
状态机有两个窗格:一个代码窗格和一个可视化工作流窗格。在可视化工作流窗格中选择 Workflow Stu dio,使用工作流工作室编辑您的工作流程。完成后,选择 Apply (应用并退出) 以保存更改并退出。
注意 如果您在工作流程中发现错误,可以留在 Workflow Studio 中更正错误,也可以继续执行下一步并更正代码中的错误。
-
(可选)使用代码窗格编辑代码中的工作流定义。
-
如果您已向工作流程添加了新资源,请在 “权限” 中选择 “创建新角色” 或使用允许对这些资源进行额外访问的角色。
-
选择 Save (保存),保存已更新的工作流程。
导出工作流程
您可以导出工作流程的 Amazon States 语言代码,也可以导出工作流程图:
-
在 Step Functions 控制台中选择您的工作流程。
-
(可选)选择编辑。
-
选择定义。
-
在工作流程定义中:
-
要导出工作流程的代码,请将其选中,然后将其复制到目的地。
-
要将工作流程图表导出到 SVG 或 PNG 文件,请选择 “导出”,然后选择要使用的格式。
-
原型工作流程
您可以使用 Workflow Studio 对包含占位符资源的新工作流程进行原型设计。创建原型:
-
登录 Ste p Functions 控制台
。 -
在 “选择创作方法” 页面上,选择 “直观地设计工作流程”。
-
在 “类型” 下,选择
Standard
或Express
,然后选择 “下一步”。 -
使用工作流工作室设计工作流程。要包含占位符资源,请执行以下操作:
-
选择要包含占位符资源的状态:
-
对于 Lambda 调用状态,在配置下选择函数名称,然后选择输入函数名称。输入您的函数的自定义名称。
-
对于 Amazon SQS 发送消息状态,在 “配置” 下选择 “队列 URL”,然后选择 “输入队列 URL”。输入占位符队列 URL。
-
对于 “操作” 下列出的所有其他状态,您可以使用默认配置。
-
-
选择 Next(下一步)。
注意 如果您在工作流程中发现错误,可以留在 Workflow Studio 中更正错误,也可以继续执行下一步并更正代码中的错误。
-
在 “查看生成的代码” 页上,您可以查看生成的工作流程的 Amazon States 语言定义。如果需要,在 “定义” 下进行任何更改,然后选择 “下一步”。
-
指定您的工作流程设置,然后选择 “创建状态机”。
-
现在,您已经创建了一个新的工作流程,其中包含可用于原型设计的占位符资源。您可以导出工作流程定义和工作流程图表。
-
要导出工作流程定义,请选择它并将其复制到剪贴板。您可以粘贴此定义并将其用作本地开发的起点Amazon Toolkit for Visual Studio Code。
-
要将工作流程图表导出到 SVG 或 PNG 文件,请选择 “导出”,然后选择要使用的格式。