4.10. 高度なフィルターステップの追加
フィルターステップでは、Fuse Online はデータを検査し、コンテンツが定義した基準を満たしている場合にのみフローの実行を継続します。基本のフィルターステップでは必要なフィルターを定義できない場合は、高度なフィルターステップを追加します。
前提条件
- フローには必要なコネクションがすべて含まれている必要があります。
- フローを作成または編集することになります。
- Camel Simple 言語を熟知するか、フィルター言語が提供されている必要があります。
手順
- フロービジュアライゼーションの上級なフィルターステップを追加する場所で をクリックします。
- Advanced Filter をクリックします。
編集ボックスで Camel Simple 言語 を使用してフィルター式を指定します。たとえば、メッセージヘッダーの
type
フィールドがwidget
に設定されている場合、以下の式は true に評価されます。${in.header.type} == 'widget'
以下の例では、メッセージのボディーに
title
フィールドが含まれる場合に式が true に評価されます。${in.body.title}
- Next をクリックして、高度なフィルターステップをフローに追加します。
フローでの追加プロパティーの指定
式では、高度なフィルターステップが以下のようなフローの場合、追加のプロパティーを指定する必要があります。
- API プロバイダーインテグレーションのオペレーションフロー。
- Webhook コネクションで始まるシンプルなインテグレーション。
- カスタム REST API コネクションで始まるシンプルなインテグレーション。
これらのフローでは、Fuse Online は body
プロパティー内で実際のメッセージコンテンツをラッピングします。これは、高度なフィルターへの入力に body
プロパティーが含まれ、このプロパティーには実際のメッセージコンテンツが含まれる別の body
プロパティーが含まれることを意味します。そのため、このようなフローの 1 つにある高度なフィルター式に、body
のインスタンスを 2 つを指定する必要があります。たとえば、入力メッセージの completed
フィールドにあるコンテンツを評価するとします。この場合、以下のように式を指定します。
${body.body.completed} = 1