

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

# 在 Amazon Bedrock 流中提取整个输入的相关部分，使用表达式定义输入
<a name="flows-expressions"></a>

为节点配置输入时，您必须根据要进入该节点的整个输入来定义输入。整个输入可以是字符串、数字、布尔值、数组或对象。要定义与整个输入相关的输入，您可以使用基于的支持的表达式子集[JsonPath](https://github.com/json-path/JsonPath)。每个表达式都必须以 `$.data` 开头，它指的是整个输入。使用表达式时请注意以下几点：
+ 如果整个输入是字符串、数字或布尔值，则唯一可以用来定义单个输入的表达式是 `$.data`。
+ 如果整个输入是一个数组或对象，则可以通过提取部分内容来定义单个输入。

我们来举例说明如何使用表达式，假设整个输入是下面的 JSON 对象：

```
{
    "animals": {
        "mammals": ["cat", "dog"],
        "reptiles": ["snake", "turtle", "iguana"]
    },
    "organisms": {
        "mammals": ["rabbit", "horse", "mouse"],
        "flowers": ["lily", "daisy"]
    },
    "numbers": [1, 2, 3, 5, 8]
}
```

您可以使用以下表达式提取部分输入（示例引用的是将从前面的 JSON 对象返回的内容）：


****  

| Expression | 含义 | 示例 | 示例结果 | 
| --- | --- | --- | --- | 
| $.data | 整个输入。 | $.data | 整个对象 | 
| .{{name}} | 在 JSON 对象{{name}}中调用的字段的值。 | $.data.numbers | [1, 2, 3, 5, 8] | 
| [{{int}}] | 在数组{{int}}中由指定的索引处的成员。 | $.data.animals.reptiles[2] | iguana | 
| [{{int1}}, {{int2}}, ...] | 索引处的成员由数组{{int}}中每个成员指定。 | $.data.numbers[0, 3] | [1, 5] | 
| [{{int1}}:{{int2}}] | 一个数组，由数组中介于{{int1}}（含）和{{int2}}（不包括）之间的索引处的项目组成。省略{{int1}}或等同{{int2}}于标记数组的开头或结尾。 | $.data.organisms.mammals[1:] | ["horse", "mouse"] | 
| \* | 可以用来代替{{name}}或{{int}}的通配符。如果有多个结果，则以数组形式返回。 | $.data.\*.mammals | [["cat", "dog"], ["rabbit", "horse", "mouse"]] | 