跳转到主要内容

Data Transform

当你需要在另一个步骤读取之前重塑现有工作流输出时,请使用 Data Transform Data Transform 不调用外部服务。它在 Google SheetsAirtableCustom API 以及后续 Iteration 步骤之前很有用。

配置

选项是否必填说明
Name步骤在工作流画布中的标签。
Mode要运行的转换。选择 Build RowsConcat ArraysFlatten Array
Fields仅 Build Rows输出对象键及其源值。
Sources仅 Concat Arrays要追加到一个数组的数组值。
Source Value仅 Flatten Array要扁平化一层的一个数组值。
Mismatch Policy仅 Build Rows如何处理长度不同的数组。
Search steps…Utilities 分组添加此步骤。

模式

Build Rows

使用 Build Rows 按索引将数组打包成一组对象。 每个字段都有 KeySource Value。键变为对象属性。源可以是完整的变量引用,例如 {{tool_names}}{{step_3.output}},或者静态值。 数组源值按索引读取。静态标量值会为每一行重复。 示例:
{
  "tool_names": ["Exa", "Airtable"],
  "search_contexts": ["Search context for Exa", "Search context for Airtable"]
}
Build Rows 字段:
[
  { "key": "tool_name", "value": "{{tool_names}}" },
  { "key": "search_context", "value": "{{search_contexts}}" },
  { "key": "workspace", "value": "Fetch Hive" }
]
输出:
[
  {
    "tool_name": "Exa",
    "search_context": "Search context for Exa",
    "workspace": "Fetch Hive"
  },
  {
    "tool_name": "Airtable",
    "search_context": "Search context for Airtable",
    "workspace": "Fetch Hive"
  }
]
当数组长度不同时,使用 Mismatch Policy:
策略行为
Pad null使用最长数组,并用 null 填充缺失值。这是默认值。
Strict fail如果数组长度不匹配,则步骤失败。
Truncate使用最短的数组长度。

Concat Arrays

使用 Concat Arrays 将多个数组追加为一个更长的数组。 每个源必须解析为数组。如果源解析为字符串、对象、数字或布尔值,步骤将失败。 示例 sources:
[
  { "value": "{{step_2.output}}" },
  { "value": "{{step_3.output}}" }
]
如果这些值为 ["a", "b"]["c"],则输出为:
["a", "b", "c"]

Flatten Array

使用 Flatten Array 将一个数组扁平化一层。 嵌套数组元素会展开。非数组元素保持原位。 示例 source:
[[1, 2], 3, [4]]
输出:
[1, 2, 3, 4]

输出

Data Transform 将其结果存储在:
{{STEP_IDENTIFIER.output}}
对于 Build Rows,输出是一个对象数组。这种形状非常适合期望记录或行的集成步骤。 对于 Concat ArraysFlatten Array,输出是后续步骤可以遍历的数组。

备注

  • 源值应该是完整的占位符,例如 {{step_2.output}},或者静态标量值。
  • Data Transform V1 不支持混合模板字符串,例如 Research for {{tool_names}}
  • Data Transform 将数组和对象保留为结构化 JSON,供下游步骤使用。
  • Data Transform 是免费的实用步骤。
另见:Google SheetsAirtableCustom API测试与迭代