

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Amazon Bedrock 中测试流
<a name="flows-test"></a>

创建流后，您就有了一份*工作草稿*。工作草稿是流的一个版本，您可以通过迭代方式进行构建和测试。每次您对工作流进行更改时，工作草稿都会更新。

在您测试工作流时，Amazon Bedrock 会首先验证以下内容，如果验证失败则会抛出异常：
+ 所有工作流节点之间的连接。
+ 至少配置了一个工作流输出节点。
+ 输入和输出变量类型按要求匹配。
+ 条件表达式有效，并提供了默认结果。

如果验证失败，您需要先修复错误，然后才能测试和验证工作流的性能。以下是测试流的步骤，请选择与您的首选方法对应的选项卡，然后按照以下步骤操作：

------
#### [ Console ]

**测试工作流**

1. 如果您尚未进入**流生成器**，请执行以下操作：

   1. 采用有权使用 Amazon Bedrock 控制台的 IAM 身份登录 AWS 管理控制台。然后，通过以下网址打开 Amazon Bedrock 控制台：[https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock)。

   1. 从左侧导航窗格中选择 **Amazon Bedrock 流**。然后，在 **Amazon Bedrock 流**部分，选择要测试的流。

   1. 选择**在流生成器中编辑**。

1. 在**流生成器页面**的右侧窗格中，输入用于调用您的流的输入。检查输入数据类型是否与您为工作流输入节点配置的输出数据类型相匹配。

1. 选择**运行**。

1. 在流配置中，触发错误的节点或连接将以红色突出显示，触发警告的节点或连接将以黄色突出显示。请阅读错误消息和警告，修复发现的问题，保存流，然后重新运行测试。
**注意**  
您必须保存流，以便在测试流时应用您所做的更改。

1. （可选）要查看每个节点的输入、输出和执行持续时间，请在响应中选择**显示跟踪**。有关更多信息，请参阅[通过在 Amazon Bedrock 中查看流中每一步的跟踪记录来跟踪流中的每一步通过查看流中每一步的跟踪记录来跟踪流中的每一步](flows-trace.md)。要返回可视化生成器，请选择**隐藏跟踪**或单击折叠图标。

1. 对流的性能感到满意后，选择**保存并退出**。

1. 您可以继续迭代，构建工作流。如果您对工作流感到满意并准备将其部署到生产环境时，请为该工作流创建一个版本和指向该版本的别名。有关更多信息，请参阅[使用版本和别名将流部署到应用程序](flows-deploy.md)。

------
#### [ API ]

要测试您的流，请使用 [Amazon Bedrock 代理运行时端点](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt)发送 [InvokeFlow](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html) 请求。在 `flowIdentifier` 字段中添加流的 ARN 或 ID，在 `flowAliasIdentifier` 字段中添加要使用的别名的 ARN 或 ID。

要查看每个节点的输入和输出，请将 `enableTrace` 字段设置为 `TRUE`。有关更多信息，请参阅[通过在 Amazon Bedrock 中查看流中每一步的跟踪记录来跟踪流中的每一步通过查看流中每一步的跟踪记录来跟踪流中的每一步](flows-trace.md)。

请求正文会指定工作流的输入，其格式如下：

```
{
   "inputs": [ 
      { 
         "content": { 
            "document": "JSON-formatted string"
         },
         "nodeName": "string",
         "nodeOutputName": "string"
      }
   ],
   "enableTrace": TRUE | FALSE
}
```

在 `document` 字段提供输入，在 `nodeName` 字段为输入提供名称，在 `nodeOutputName` 为输出提供名称。

响应以流的形式返回。返回的每个事件都在 `document` 字段中包含一个节点的输出，在 `nodeName` 字段中包含经过处理的节点，在 `nodeType` 字段中包含节点的类型。这些事件的格式如下：

```
{
    "flowOutputEvent": { 
        "content": { 
            "document": "JSON-formatted string"
        },
        "nodeName": "string",
        "nodeType": "string"
    }
}
```

如果流结束，则还将返回包含 `completionReason` 的 `flowCompletionEvent` 字段。如果出现错误，则返回相应的错误字段。

------