本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建具有条件节点的工作流
下图显示了具有一个条件节点的工作流根据满足的条件返回的三个可能的值之一:

要在控制台中构建和测试此工作流,请执行以下操作:
按照中的说明创建流程在 Amazon Bedrock 中创建你的第一个流程。
-
删除中间窗格中的 “提示” 节点。
-
执行以下操作,设置条件节点:
-
从 Flow Builder 的左窗格中,选择 “节点” 选项卡。
-
将一个条件节点拖动到中间窗格的工作流中。
-
在 Flow Builder 窗格中选择 “配置” 选项卡。
-
展开输入部分。按如下所示配置输入:
名称 类型 Expression retailPrice 数字 $.data.retailPrice marketPrice 数字 $.data.marketPrice type 字符串 $.data.type 该配置意味着条件节点需要一个包含
retailPrice
、marketPrice
和type
的 JSON 对象。 -
通过执行以下操作配置条件:
-
在条件部分中,可以选择更改条件的名称。然后在条件文本框中添加以下条件:
(retailPrice > 10) and (type == "produce")
。 -
选择添加条件,添加第二个条件。(可选)更改第二个条件的名称。然后在条件文本框中添加以下条件:
(retailPrice < marketPrice)
。
-
-
-
选择工作流输入节点,然后选择配置选项卡。选择对象作为类型。这意味着工作流调用需要接收一个 JSON 对象。
-
添加工作流输出节点,这样总共有三个节点。在每个流程输出节点的 Flow Builder 窗格的 “配置” 选项卡中,按如下方式对其进行配置:
-
将第一个工作流输出节点的输入类型设为
String
,表达式设为$.data.action[0]
,以返回传入对象action
字段中数组的第一个值。 -
将第二个工作流输出节点的输入类型设为
String
,表达式设为$.data.action[1]
,以返回传入对象action
字段中数组的第一个值。 -
将第三个工作流输出节点的输入类型设为
String
,表达式设为$.data.action[2]
,以返回传入对象action
字段中数组的第一个值。
-
-
将第一个条件连接到第一个工作流输出节点,将第二个条件连接到第二个工作流输出节点,将默认条件连接到第三个工作流输出节点。
-
通过执行以下操作来连接所有节点中的输入和输出,以完成工作流:
-
将连接从工作流输入节点的输出节点拖到条件节点中的 retailPrice 输入。
-
将连接从工作流输入节点的输出节点拖到条件节点中的 marketPrice 输入。
-
将连接从工作流输入节点的输出节点拖到条件节点中的 type 输入。
-
将连接从工作流输入节点的输出节点拖到三个输出节点中每个节点的 document 输入。
-
-
选择保存,保存您的工作流。现在,您的工作流应该可以进行测试了。
-
在右侧的 “测试流程” 窗格中输入以下 JSON 对象来测试您的流程。为每个输入选择运行:
-
以下对象满足第一个条件(
retailPrice
大于 10 且type
为“produce”),并返回action
中的第一个值(“don't buy”):{ "retailPrice": 11, "marketPrice": 12, "type": "produce", "action": ["don't buy", "buy", "undecided"] }
注意
尽管第一个和第二个条件都已满足,但第一个条件优先,因为它排在第一位。
-
以下对象满足第二个条件(
retailPrice
低于marketPrice
),并返回action
中的第二个值(“buy”):{ "retailPrice": 11, "marketPrice": 12, "type": "meat", "action": ["don't buy", "buy", "undecided"] }
-
以下对象既不满足第一个条件(
retailPrice
大于 10,但type
不是“produce”),也不满足第二个条件(retailPrice
不低于marketPrice
),因此返回action
中的第三个值(“undecided”):{ "retailPrice": 11, "marketPrice": 11, "type": "meat", "action": ["don't buy", "buy", "undecided"] }
-