新規ファイルの作成または変更時のフローのトリガーの例 - Mule 4

ファイル、FTP、および SFTP 用 Anypoint Connector では、ディレクトリをポーリングして、作成または更新されたファイルがないかどうかを確認する ​On New or Updated File​ 操作が提供されます。見つかったファイルごとにメッセージが生成されます。

次の戦略は、ファイルが新規かどうかを判断します。

  • [Auto Delete (自動削除)]​ 項目を ​True​ に設定する: この方法では、各ファイルを処理した後で処理済みのファイルを削除するため、次のポーリングで取得されるすべてのファイルが新規とみなされます。

  • [Move To Directory (ディレクトリに移動)]​ 項目を設定する: この方法では、各ファイルを処理した後で処理済みのファイルを異なるディレクトリに移動するため、​[Auto Delete (自動削除)]​ と同じ効果を得ることができますが、ファイルが消去されることはありません。

  • [Watermark (ウォーターマーク)]​ 項目を設定する: この方法では、前回ポーリングが実行された後で作成または更新されたファイルのみを選択します。

ファイルをさらに絞り込むためにマッチャーを使用することもできます。

Studio で On New or Updated File 操作を設定する

Studio で ​On New or Updated File​ 操作を追加および設定する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューで「​sftp​」を検索し、​[On New or Updated File]​ 操作を選択します。

  2. [On New or Updated File]​ 操作を Studio キャンバスにドラッグします。

  3. 操作の設定画面の ​[General (一般)]​ タブで、​[Connector configuration (コネクタ設定)]​ 項目の横にあるプラス記号 (​+​) をクリックし、グローバル要素設定項目にアクセスします。

  4. 接続情報を指定し、​[OK]​ をクリックします。

  5. [Directory (ディレクトリ)]​ 項目を、プールされたファイルが含まれるディレクトリパスに設定します (例: test-data/in​)。

  6. [Auto delete (自動削除)]​ 項目を ​True​ に設定します。

  7. [Watermark (ウォーターマーク)]​ 項目を選択して、ウォーターマークを有効にします。

Studio の On New or Updated File 操作の設定

設定 XML​ エディターでは、​<sftp:listener>​ 設定は次のように記述されます。

<flow name="onNewFile">
    <sftp:listener config-ref="file" directory="test-data/in" autoDelete="true" watermarkEnabled="true">
      <scheduling-strategy>
        <fixed-frequency frequency="1000"/>
      </scheduling-strategy>
    </sftp:listener>

    <flow-ref name="processFile" />
</flow>