4.10. 添加高级过滤器步骤
在过滤器步骤中,Fuse Online 检查数据,只有在内容满足您定义的条件时才继续执行流。如果基本过滤器步骤没有让您定义所需的确切过滤器,则添加一个高级过滤器步骤。
先决条件
- 流包含需要的所有连接。
- 正在创建或编辑一个流。
- 您熟悉 Camel Simple Language,或者您已提供过滤器表达式。
流程
-
在流视觉化中,您要在流中添加高级过滤器步骤,点
。
- 点 Advanced Filter。
在编辑框中,使用 Camel Simple Language 指定过滤器表达式。例如,当消息标题的
type
字段设置为widget
时,以下表达式将评估为 true:${in.header.type} == 'widget'
${in.header.type} == 'widget'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在以下示例中,当邮件正文包含
标题
字段时,表达式将评估为 true:${in.body.title}
${in.body.title}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 点 Next 将 advanced filter 步骤添加到流程中。
某些流程中的附加属性规格
在表达式中,当高级过滤器步骤位于以下一种流程中时,需要一个额外的属性规格:
- API 供应商集成操作流
- 以 Webhook 连接开头的简单集成
- 以自定义 REST API 连接开始的简单集成
在这些流程中,Fuse Online 会将实际消息内容嵌套在 正文
属性中。这意味着高级过滤器的输入包含 正文
属性,其中包含另一个包含实际消息内容 的正文
属性。因此,在其中一种流程中的高级过滤器表达式中,您必须指定两条 正文
实例。例如,假设您要评估输入消息的 completed
字段中的内容。指定类似如下的表达式:
${body.body.completed} = 1
${body.body.completed} = 1