

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

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