本帖最后由 疯狂的赤泥 于 2025-5-13 20:43 编辑
数据映射是指在 n8n 工作流中,将一个节点输出的数据转换为下一个节点期望接收的输入格式和结构的过程。由于不同的应用程序和服务可能使用不同的数据结构和字段名称,因此数据映射是构建集成化自动化流程的关键环节。 n8n 提供了多种机制来实现数据映射: 自动映射 (Automatic Mapping):
- 在最简单的情况下,如果一个节点的输出数据字段名称与下一个节点的输入参数名称恰好匹配,n8n 会尝试自动进行映射。例如,如果一个节点输出了一个名为 email 的字段,而下一个 Email 节点的 "To" 参数也期望一个名为 email 的值,n8n 可能会自动将它们连接起来。
直接参数输入与表达式 (Direct Parameter Input & Expressions):
- 您可以直接在节点的配置参数中使用表达式来显式地引用先前节点输出的特定数据字段。这是最常见和最灵活的数据映射方法。
- 例如,如果前一个节点输出的数据在 $input.first().json 中包含 customer_email 和 order_total 字段,而在 Email 节点的 "To" 参数中您需要收件人邮箱,您可以使用表达式 {{ $input.first().json.customer_email }}。对于订单总额,您可以在邮件正文中使用 {{ $input.first().json.order_total }}。
使用 "Set" 节点进行数据转换和重命名:
- "Set" 节点非常适合在数据传递给下一个节点之前进行简单的转换和重命名。您可以使用 "Set" 节点创建新的字段,其值来自先前节点的输出,并且可以为这些新字段指定下一个节点期望的名称。
- 例如,如果前一个节点输出的邮箱字段是 email_address,而下一个节点期望 email,您可以在 "Set" 节点中创建一个名为 email 的新字段,并将其值设置为表达式 {{ $input.first().json.email_address }}。
使用 "Function" 节点进行复杂的数据转换:
- 对于需要更复杂逻辑的数据转换,例如数据格式的完全重构、多个字段的组合、条件性的数据处理等,您可以使用 "Function" 节点编写自定义的 JavaScript 代码来实现。
- 在 "Function" 节点中,您可以访问先前节点的所有输出数据,并根据您的需求创建新的数据结构并将其作为输出返回。
特定节点的映射功能:
- 某些特定的集成节点可能提供自己的数据映射界面,以帮助您将不同服务之间的数据字段进行匹配。例如,在 CRM 集成节点中,您可能会看到一个界面,允许您将 n8n 的数据字段映射到 CRM 系统的相应字段。
数据映射的重要性: 有效的数据映射确保了工作流中的每个节点都能接收到其期望的输入数据格式和内容,从而使整个自动化流程能够顺利运行。理解不同的数据映射方法,并根据实际情况选择最合适的方法,是构建强大且可靠的 n8n 工作流的关键技能。
|