配置发现连接器请求节点的映射

发现连接器请求节点提供 JSONata 映射功能,您可以使用该功能在消息流中的节点之间映射数据,而无需在流中使用单独的变换节点。

关于此任务

您可以使用发现连接器请求节点中的内置映射功能,通过在节点上设置静态值或配置 JSONata 表达式,以 JSON 格式映射数据。 例如,您可以创建一个流,该流采用 GitHub Input 节点的输出,并通过映射两个节点之间的数据将其用作 Slack 请求 节点的输入。 Slack 请求 节点使用 GitHub Input 节点中的响应模式作为映射的输入,该映射用于构造传递到 Slack的消息。

In versions of IBM® App Connect Enterprise prior to V12.0.10, you would add a transformation node (such as a 制图, JavaCompute, or ESQL 计算 node) to the flow in between the GitHub 输入 and Slack 请求 nodes. 您将使用转换节点从 GitHub 输入节点中选择数据,用于构建要传递给 Slack 请求节点处理的消息。
此图显示了包含 GitHub 输入节点,映射节点和 Slack 请求节点的流。

在此示例中, Mapping 节点使用由 GitHub Input 节点自动生成的响应模式以及由 Slack 请求 节点生成的请求模式。 您可以使用这些模式来创建映射,并配置要用作 Slack 请求 节点的输入的 GitHub Input 节点中的消息部分。

IBM App Connect Enterprise 12.0.10 (以及更高版本) 中,您可以使用发现连接器请求节点提供的 JSONata 映射功能在节点之间映射数据。 在此示例中,您可以创建包含 GitHub 输入 节点和 Slack 请求 节点的流,并在连接器发现期间使用映射来构造要传递到 Slack 请求 节点以进行处理的消息。
此图显示了包含 GitHub 输入节点和 Slack 请求节点的流。

通过在节点的 "请求" 选项卡中配置 映射输入 表,可以在连接器发现期间使用 JSONata 映射来构建输入消息。 使用此表来指定有关在构建消息时可使用的输入数据的数据位置和模式的信息。 在 "连接器发现" 向导中配置连接器的连接详细信息后,将显示一个面板,您可以在其中配置请求属性和有效内容字段。 您可以通过设置静态值或使用 JSONata 表达式从 "映射输入" 表中配置的任何可用输入中选择输入数据来填充这些字段。

"映射输入" 表中的条目描述了消息组合件的特定部分以及定义这些部分的模式:
  • 输入名称 是映射输入表中行的唯一名称。
  • 输入位置 指定消息组合件中的位置。
  • 消息域 指定输入位置的解析器。
  • 模式位置 指定在输入位置描述消息的 JSON 模式。
  • 模式根 指定模式文件中描述消息结构的位置。 仅当 JSON 模式不在模式文档的根目录时,才需要执行此操作。

缺省情况下, "映射输入" 表包含描述通用输入消息和本地环境树的结构化部分的数据。 您可以将条目添加到表中,以指定消息组合件中由关联 JSON 模式描述的消息的位置。 如果先前的消息流节点定义了到达此节点的输入终端的 JSON 消息的结构,那么会找到该模式,并建议将其作为您可以使用的选项。

如果连接器请求需要消息体,那么将在 "连接器发现" 向导中显示 控件 字段。 此字段仅对需要消息体 (例如 CREATEUPDATEUPSERT) 的操作可见; 它不适用于不需要消息体 (例如 RETRIEVEALLDELETEALL) 的操作。 您可以使用此字段来选择要如何填充目标应用程序中的字段。 您可以选择 定义以下映射使用未更改的输入消息:
  • 选择 定义下面的映射 以在 "连接器发现" 向导中定义映射。 缺省情况下会选择此选项。 使用 填充目标字段 ... 中的字段 用于定义映射的部分。
  • 选择 使用未更改的输入消息 以获取由流中较早的变换节点 (例如 映射 节点, ESQL Compute 节点或 JavaCompute 节点) 构造的输入消息。

添加 JSONata 表达式时,可以使用 数据查看器 (在窗口左侧的面板中) 来查看可用映射和编辑样本数据。

有关如何配置发现连接器请求节点以使用 JSONata 映射的示例,请参阅 JSONata 映射示例

有关如何配置发现连接器请求节点以使用 JSONata 映射以及如何使用 JSONata 映射访问消息组合件中的树的演示,请参阅以下视频: