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 在以下示例中,当消息的正文包含
title
字段时,表达式评估为 true:${in.body.title}
${in.body.title}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 点 Next 将高级过滤器步骤添加到流中。
某些流中的额外属性规格
在表达式中,当高级过滤器步骤位于以下流之一时,需要额外的属性规格:
- API 供应商集成操作流
- 从 Webhook 连接开始的简单集成
- 从自定义 REST API 连接开始的简单集成
在这些流中,Fuse Online 将实际消息内容嵌套在 body
属性中。这意味着高级过滤器的输入包含一个 body
属性,其中包含包含实际消息内容的另一个 body
属性。因此,在其中一个类型的流中,在高级过滤器表达式中,您必须指定两个 正文
实例。例如,假设您想评估输入消息 完成
字段中的内容。指定类似如下的表达式:
${body.body.completed} = 1
${body.body.completed} = 1