4.10. 高度なフィルターステップの追加

フィルターステップでは、Fuse Online はデータを検査し、コンテンツが定義した基準を満たしている場合にのみフローの実行を継続します。基本のフィルターステップでは必要なフィルターを定義できない場合は、高度なフィルターステップを追加します。

前提条件

  • フローには必要なコネクションがすべて含まれている必要があります。
  • フローを作成または編集することになります。
  • Camel Simple 言語を熟知するか、フィルター言語が提供されている必要があります。

手順

  1. フロービジュアライゼーションの上級なフィルターステップを追加する場所で PlusSignToAddStepOrConnection をクリックします。
  2. Advanced Filter をクリックします。
  3. 編集ボックスで Camel Simple 言語 を使用してフィルター式を指定します。たとえば、メッセージヘッダーの type フィールドが widget に設定されている場合、以下の式は true に評価されます。

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

    以下の例では、メッセージのボディーに title フィールドが含まれる場合に式が true に評価されます。

    ${in.body.title}
  4. Next をクリックして、高度なフィルターステップをフローに追加します。

フローでの追加プロパティーの指定

式では、高度なフィルターステップが以下のようなフローの場合、追加のプロパティーを指定する必要があります。

  • API プロバイダーインテグレーションのオペレーションフロー。
  • Webhook コネクションで始まるシンプルなインテグレーション。
  • カスタム REST API コネクションで始まるシンプルなインテグレーション。

これらのフローでは、Fuse Online は body プロパティー内で実際のメッセージコンテンツをラッピングします。これは、高度なフィルターへの入力に body プロパティーが含まれ、このプロパティーには実際のメッセージコンテンツが含まれる別の body プロパティーが含まれることを意味します。そのため、このようなフローの 1 つにある高度なフィルター式に、body のインスタンスを 2 つを指定する必要があります。たとえば、入力メッセージの completed フィールドにあるコンテンツを評価するとします。この場合、以下のように式を指定します。

${body.body.completed} = 1