ListFile 2025.10.2.19

バンドル

org.apache.nifi | nifi-standard-nar

説明

入力ディレクトリからファイルのリストを取得します。リストされた各ファイルについて、そのファイルを表す FlowFile を作成し、 FetchFile と組み合わせて取得できるようにします。このプロセッサーは、 'Input Directory Location' が 'Remote' にセットされている場合、クラスタ内のプライマリ・ノードのみで動作するように設計されています。プライマリ・ノードが変更された場合、新しいプライマリ・ノードはすべてのデータを複製することなく、前のノードが去った場所を引き継ぎます。入力ディレクトリの場所」が「ローカル」の場合、「実行」モードは何でもよく、同期は行われません。GetFile と異なり、このプロセッサーはローカルファイルシステムからデータを削除しません。

タグ

ファイル、ファイルシステム、取得、取り込み、リスト、ソース

入力要件

FORBIDDEN

機密動的プロパティをサポート

false

プロパティ

プロパティ

説明

ファイルフィルター

指定された正規表現にマッチする名前のファイルのみがピックアップされます。

隠しファイルを無視

隠しファイルを無視するかどうかを示します。

インクルードファイル属性

ファイルの最終更新時刻や所有者などの情報を FlowFile 属性として含めるかどうか。使用されているファイルシステムによっては、この情報の収集にコストがかかるため、無効にする必要があります。これは特にリモートファイル共有に当てはまります。

入力ディレクトリ

ファイルを取り出す入力ディレクトリ

入力ディレクトリの場所

入力ディレクトリの場所を指定します。これは、状態をローカルに保存するか、クラスタ全体で保存するかを決定するために使用されます。

最大ファイル年齢

ファイルが引き出されるために必要な最大年齢。(最終更新日付に従って)この時間より古いファイルは無視されます。

最大ファイルサイズ

プルされるファイルの最大サイズ

最低ファイル年齢

ファイルが引き出されるために必要な最低年齢。(最終更新日付に従って)この期間より若いファイルは無視されます。

最小ファイルサイズ

プルされるために必要なファイルの最小サイズ

パスフィルター

サブディレクトリの再帰を true にすると、 指定した正規表現にパスがマッチするサブディレクトリのみがスキャンされます。

サブディレクトリの再帰

ディレクトリのサブディレクトリのファイルをリストするかどうかを示します。

et-initial-listing-target

Specify how initial listing should be handled. Used by 'Tracking Entities'strategy.

et-node-identifier

The configured value will be appended to the cache key so that listing state can be tracked per NiFi node rather than cluster wide when tracking state is scoped to LOCAL. Used by 'Tracking Entities'strategy.

et-state-cache

Listed entities are stored in the specified cache storage so that this processor can resume listing across NiFi restart or in case of primary node change. 'Tracking Entities'strategy require tracking information of all listed entities within the last 'Tracking Time Window'. To support large number of entities, the strategy uses DistributedMapCache instead of managed state. Cache key format is 'ListedEntities::{processorId}(::{nodeId})'. If it tracks per node listed entities, then the optional '::{nodeId}' part is added to manage state separately. E.g. cluster wide cache key ='ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b', per node cache key ='ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3' The stored cache content is Gzipped JSON string. The cache key will be deleted when target listing configuration is changed. Used by 'Tracking Entities'strategy.

et-time-window

Specify how long this processor should track already-listed entities. 'Tracking Entities'strategy can pick any entity whose timestamp is inside the specified time window. For example, if set to '30 minutes', any entity having timestamp in recent 30 minutes will be the listing target when this processor runs. A listed entity is considered 'new/updated' and a FlowFile is emitted if one of following condition meets: 1. does not exist in the already-listed entities, 2. has newer timestamp than the cached entity, 3. has different size than the cached entity. If a cached entity 's timestamp becomes older than specified time window, that entity will be removed from the cached already-listed entities. Used by'Tracking Entities'strategy.

listing-strategy

新規/更新エンティティの判定方法を指定します。詳しくは各戦略の説明をご覧ください。

max-listing-time

1つのディレクトリのリストにかかる最大時間。「入力ディレクトリ」プロパティで指定されたディレクトリのリスト、またはサブディレクトリのリスト (「再帰」が true にセットされている場合) にこの時間を超える時間がかかる場合、この時間を超える各ディレクトリのリストに対して警告メッセージが生成されます。

max-operation-time

1回のディスク操作にかかると予想される最大時間。ディスク操作にこの時間を超える時間がかかると、操作のたびに警告メッセージが表示されます。

max-performance-metrics

Track Performance' プロパティが 'true' にセットされている場合、このプロパティは、パフォーマンスメトリクスを保持すべきファイルの最大数を示します。このプロパティの値を小さくするとヒープ使用率が低くなり、値を大きくするとディスクアクセス操作がどのように実行されているかをより正確に把握することができます。

record-writer

リストの作成に使用するRecord Writerを指定します。指定しない場合は、リストされたエンティティごとに FlowFile が1つ作成されます。Record Writerを指定すると、個々の FlowFiles に属性を追加する代わりに、すべてのエンティティが単一の FlowFile に書き込まれます。

target-system-timestamp-precision

ターゲットシステムでのタイムスタンプ精度を指定します。このプロセッサーは、エンティティのタイムスタンプを使用してリストを決定するため、正しいタイムスタンプ精度を使用することが重要です。

track-performance

プロセッサーがディスクアクセス操作のパフォーマンスを追跡するかどうか。trueの場合、ディスクへのアクセスはすべて記録され、アクセスされたファイル、取得された情報、かかった時間などが記録されます。このログは、 DEBUG レベルで定期的に記録されます。データ量の上限は設定されますが、このオプションでもかなりの量のヒープを消費する可能性があります ('Maximum Number of Files to Track' プロパティによって制御されます) が、パフォーマンスが低下している場合のトラブルシューティングの目的には非常に便利です。

状態管理

スコープ

説明

LOCAL

ファイルのリストをパフォーマンスした後、最も新しいファイルのタイムスタンプが保存されます。これにより、次回 Processor を実行したときに、この日付以降に追加または変更されたファイルのみがリストされます。状態がローカル・スコープで保存されるかクラスタ・スコープで保存されるかは、 <Input Directory Location> プロパティの値によって決まります。

CLUSTER

ファイルのリストをパフォーマンスした後、最も新しいファイルのタイムスタンプが保存されます。これにより、次回 Processor を実行したときに、この日付以降に追加または変更されたファイルのみがリストされます。状態がローカル・スコープで保存されるかクラスタ・スコープで保存されるかは、 <Input Directory Location> プロパティの値によって決まります。

リレーションシップ

名前

説明

success

受信したすべての FlowFiles は成功にルーティングされます。

属性の書き込み

名前

説明

filename

ファイルシステムから読み込まれたファイル名。

path

パスは、入力ディレクトリプロパティと比較したファイルシステム上のファイルのディレクトリの相対パスにセットされます。例えば、入力ディレクトリが/tmpにセットされている場合、/tmpからピックアップされたファイルのパス属性は"/"に設定されます。Recurse Subdirectoriesプロパティがtrueにセットされ、ファイルが/tmp/abc/1/2/3からピックアップされる場合、パス属性は "abc/1/2/3/"にセットされます。

absolute.path

absolute.pathには、ファイルシステム上のファイルのディレクトリの絶対パスがセットされます。例えば、Input Directoryプロパティが/tmpにセットされている場合、/tmpからピックアップされたファイルはパス属性が"/tmp/"にセットされます。Recurse Subdirectoriesプロパティがtrueにセットされ、ファイルが/tmp/abc/1/2/3からピックアップされる場合、パス属性は"/tmp/abc/1/2/3/"にセットされます。

file.owner

ファイルシステムでファイルを所有するユーザー

file.group

ファイルシステムでファイルを所有するグループ

file.size

ファイルシステム内のファイルのバイト数

file.permissions

ファイルシステム内のファイルのパーミッション。これはオーナーが3文字、グループが3文字、その他のユーザーが3文字という形式です。例えば rw-rw-r--

file.lastModifiedTime

ファイルシステム内のファイルが最後に更新されたときのタイムスタンプを 'yyyy-MM-dd'T'HH:mm:ssZ' として返します。

file.lastAccessTime

ファイルシステム内のファイルが最後にアクセスされた時のタイムスタンプを 'yyyy-MM-dd'T'HH:mm:ssZ' として返します。

file.creationTime

ファイルシステム内のファイルが作成された時のタイムスタンプを 'yyyy-MM-dd'T'HH:mm:ssZ' とします。

こちらもご覧ください