本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon Bedrock Flows 中提取整个输入的相关部分,使用表达式来定义输入
为节点配置输入时,您必须根据要进入该节点的整个输入来定义输入。整个输入可以是字符串、数字、布尔值、数组或对象。要定义与整个输入相关的输入,您可以使用基于的支持的表达式子集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"]] |