ListFTP 2025.5.31.15¶
バンドル¶
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', per node cache key = 'ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3' 保存されるキャッシュの内容はGzip圧縮された JSON 文字列です。キャッシュ・キーは、ターゲット・リストの構成が変更されると削除されます。「トラッキングエンティティ」ストラテジーで使用されます。 |
et-time-window |
このプロセッサーが、すでにリストされているエンティティを追跡する期間を指定します。「Tracking Entities」ストラテジーは、タイムスタンプが指定したタイムウィンドウ内にあるエンティティを選ぶことができます。例えば、 '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 上のディレクトリの完全修飾名。 |