ListFTP 2025.10.2.19¶
バンドル¶
org.apache.nifi | nifi-standard-nar
説明¶
FTP サーバーに存在するファイルのリストをパフォーマンスします。リモート・サーバー上で見つかったファイルごとに、ファイル名属性にリモート・サーバー上のファイル名をセットした新しい FlowFile が作成されます。これは、 FetchFTP と組み合わせて使用することで、これらのファイルを取得することができます。
入力要件¶
FORBIDDEN
機密動的プロパティをサポート¶
false
プロパティ¶
プロパティ |
説明 |
|---|---|
接続モード |
FTP 接続モード |
接続タイムアウト |
接続作成中にタイムアウトするまでの待機時間 |
データタイムアウト |
ローカルとリモートのシステム間でファイルを転送する場合、この値はシステム間でデータが転送されずに経過する時間を指定します。 |
ファイルフィルター正規表現 |
フィルターが指定された場合、そのJava正規表現にマッチする名前のファイルのみが取得されます。フィルターが提供されている場合、フェッチされる正規表現に名前が一致するファイルだけです。 |
ホスト名 |
リモートシステムの完全修飾ホスト名または IP アドレス。 |
ドット付きファイルの無視 |
true の場合、ファイル名がドット (".") で始まるファイルは無視されます。 |
内部バッファサイズ |
バッファリングされたデータストリームの内部バッファサイズのセット |
パスワード |
ユーザーアカウントのパスワード |
パスフィルター正規表現 |
再帰検索が true の場合、与えられた正規表現にパスが一致する サブディレクトリのみがスキャンされます。 |
ポート |
データを取得するためにリモートホストで接続するポート。 |
リモートパス |
ファイルをプルまたはプッシュするリモートシステム上のパス。 |
リモート ポール バッチ サイズ |
この値は、ファイルリストを作成するときに、リモートシステム上の指定されたディレクトリからいくつのファイルパスを見つけるかを指定します。一般的にはこの値を変更する必要はありませんが、膨大な数のファイルを持つリモートシステムに対してポーリングを行う場合、この値が重要になることがあります。この値を高く設定しすぎるとパフォーマンスが非常に悪くなり、低く設定しすぎるとフローが通常より遅くなる場合があります。 |
再帰検索 |
trueの場合、任意にネストされたサブディレクトリからファイルを取り出します。それ以外の場合、サブディレクトリをトラバースしません。 |
転送モード |
FTP 転送モード |
ユーザー名 |
ユーザー名 |
et-initial-listing-target |
初期リストの処理方法を指定します。「エンティティの追跡」戦略で使用されます。 |
et-state-cache |
リストされたエンティティは指定されたキャッシュストレージに保存されるため、このプロセッサーは、NiFi 再起動時またはプライマリノードが変更された場合に、リストを再開できます。「エンティティの追跡」戦略では、直近の「追跡時間ウィンドウ」内にリストされているすべてのエンティティの追跡情報が必要です。多数のエンティティをサポートするために、この戦略では管理状態の代わりに DistributedMapCache を使用します。キャッシュキーの形式は「ListedEntities::{processorId}(::{nodeId})」です。ノードごとに列挙されたエンティティを追跡する場合は、状態を個別に管理するためにオプションの「::{nodeId}」部分が追加されます。例:クラスター全体のキャッシュキー =「ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b」、ノードごとのキャッシュキー =「ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3」保存されるキャッシュの内容はGzip圧縮された JSON 文字列です。キャッシュキーは、ターゲットリスティングの構成が変更されると削除されます。「エンティティの追跡」戦略で使用されます。 |
et-time-window |
このプロセッサーが、すでにリストされているエンティティを追跡する期間を指定します。「エンティティの追跡」戦略は、タイムスタンプが指定された時間枠内にあるエンティティを選ぶことができます。例えば、「30 minutes」に設定すると、このプロセッサーが実行されたときに、最近30分のタイムスタンプを持つすべてのエンティティがリスティングの対象となります。リストされたエンティティは「新規/更新」とみなされ、以下の条件のいずれかが満たされた場合にFlowFile が発行されます。1. 既にリストされているエンティティに存在しない、2. キャッシュされたエンティティよりもタイムスタンプが新しい、3. キャッシュされたエンティティとはサイズが異なる。キャッシュされたエンティティのタイムスタンプが指定された時間枠より古くなった場合、そのエンティティはキャッシュされた既にリストされているエンティティから削除されます。「エンティティの追跡」戦略で使用されます。 |
follow-symlink |
trueの場合、シンボリックファイルとネストされたシンボリックサブディレクトリも読み込みます。それ以外の場合は、シンボリックファイルを読み込まず、シンボリック リンク サブディレクトリをトラバースしません。 |
ftp-use-utf8 |
ファイルやファイル名を処理するときに UTF-8 エンコードを使うようにクライアントに指示します。trueにセットすると、サーバは UTF-8エンコーディングもサポートしなければなりません。 |
listing-strategy |
新規/更新エンティティの判定方法を指定します。詳しくは各戦略の説明をご覧ください。 |
proxy-configuration-service |
ネットワークリクエストをプロキシするプロキシ構成Controller Serviceを指定します。 |
record-writer |
リストの作成に使用するRecord Writerを指定します。指定しない場合は、リストされたエンティティごとに FlowFile が1つ作成されます。Record Writerを指定すると、個々の FlowFiles に属性を追加する代わりに、すべてのエンティティが単一の FlowFile に書き込まれます。 |
target-system-timestamp-precision |
ターゲットシステムでのタイムスタンプ精度を指定します。このプロセッサーは、エンティティのタイムスタンプを使用してリストを決定するため、正しいタイムスタンプ精度を使用することが重要です。 |
状態管理¶
スコープ |
説明 |
|---|---|
CLUSTER |
ファイルのリストをパフォーマンスした後、最も新しいファイルのタイムスタンプが保存されます。これにより、次回 Processor を実行したときに、この日付以降に追加または変更されたファイルのみがリストされます。状態はクラスタリングに保存され、このプロセッサーがプライマリ・ノードで実行されます。新しいプライマリ・ノードが選択された場合、新しいノードが前のプライマリ・ノードによってリストされたデータを複製することはありません。 |
リレーションシップ¶
名前 |
説明 |
|---|---|
success |
受信したすべての FlowFiles は成功にルーティングされます。 |
属性の書き込み¶
名前 |
説明 |
|---|---|
ftp.remote.host |
FTP サーバーのホスト名。 |
ftp.remote.port |
FTP サーバーで接続されたポート。 |
ftp.listing.user |
FTP リストを実行したユーザーのユーザー名。 |
file.owner |
ソース・ファイルの数値所有者ID |
file.group |
ソースファイルの数値グループID |
file.permissions |
ソースファイルの読み取り/書き込み/実行パーミッション |
file.size |
ソースファイルのバイト数 |
file.lastModifiedTime |
ファイルシステム内のファイルが最後に変更されたときのタイムスタンプを 'yyyy-MM-dd'T'HH:mm:ssZ' として返します。 |
filename |
FTP サーバー上のファイル名 |
path |
ファイルが取り出された FTP Server 上のディレクトリの完全修飾名。 |