5.10. 添加高级过滤器步骤

在过滤器步骤中,Fuse Online 检查数据,并仅在内容满足您定义的条件时才继续执行流。如果基本过滤器步骤没有允许您定义您需要的确切过滤器,则添加一个高级过滤器步骤。

先决条件

  • 流包含需要的所有连接。
  • 您正在创建或编辑流。
  • 熟悉 Camel Simple Language,或者已为您提供了一个过滤器表达式。

流程

  1. 在流视觉化中,您要在流中添加高级过滤器步骤,点 PlusSignToAddStepOrConnection
  2. 单击 Advanced Filter
  3. 在编辑框中,使用 Camel Simple Language 指定一个过滤器表达式。例如,当消息标头的 type 字段设置为 widget 时,以下表达式评估为 true :

    ${in.header.type} == 'widget'

    在以下示例中,当消息的正文包含 title 字段时,表达式评估为 true:

    ${in.body.title}
  4. Next 将高级过滤器步骤添加到流中。

某些流中的额外属性规格

在表达式中,当高级过滤器步骤位于以下流之一时,需要额外的属性规格:

  • API 供应商集成操作流
  • 从 Webhook 连接开始的简单集成
  • 从自定义 REST API 连接开始的简单集成

在这些流中,Fuse Online 将实际消息内容嵌套在 body 属性中。这意味着高级过滤器的输入包含一个 body 属性,其中包含包含实际消息内容的另一个 body 属性。因此,在其中一个类型的流中,在高级过滤器表达式中,您必须指定两个 正文 实例。例如,假设您想评估输入消息 完成 字段中的内容。指定类似如下的表达式:

${body.body.completed} = 1