ListS3 2025.10.2.19

バンドル

org.apache.nifi | nifi-aws-nar

説明

S3バケットからオブジェクトのリストを取得します。リストされた各オブジェクトについて、そのオブジェクトを表す FlowFile を作成し、 FetchS3Object と組み合わせて取得できるようにします。このプロセッサーは、クラスタ内のプライマリノードのみで動作するように設計されています。プライマリ・ノードが変更された場合、新しいプライマリ・ノードは、すべてのデータを複製することなく、前のノードが去った場所を引き継ぎます。

タグ

AWS 、Amazon、 S3、 リスト

入力要件

FORBIDDEN

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

false

プロパティ

プロパティ

説明

AWS 認証情報 プロバイダーサービス

AWS 認証情報プロバイダーの取得に使用するController Service。

バケット

やり取りするS3バケット

通信タイムアウト

AWS への接続を確立するため、または AWS からデータを受信するために、タイムアウトするまでの待機時間。

カスタム署名者クラス名

カスタム署名者クラスの完全修飾クラス名。署名者はcom.amazonaws.auth.Signerインターフェースを実装する必要があります。

カスタム署名者モジュールの場所

カスタム署名者の JAR ファイルとその依存関係 (もしあれば) を含むファイルやディレクトリへのパスをカンマ区切りにしたリスト。

区切り文字

バケット内のディレクトリを区切る文字列。このフィールドの正しい使い方については、 AWS のドキュメントを参照してください。

エンドポイントオーバーライド URL

スキーム、ホスト、ポート、パスを含む AWS デフォルトの代わりに使用するエンドポイント URL。AWS ライブラリは AWS リージョンに基づきエンドポイント URL を選択しますが、このプロパティは選択されたエンドポイント URL を上書きし、他の S3 互換エンドポイントとの使用を可能にします。

リスト型

オリジナルの List Objects と新しい List Objects バージョン 2 のどちらのエンドポイントを使用するかを指定します。

リストバッチサイズ

Record Writerを使用していない場合、このプロパティは、1つのバッチでリストされるべきS3オブジェクトの数を指定します。この数に達すると、作成された FlowFiles はプロセッサーから転送されます。この値を低くセットすると、完全なリストが終了する前に FlowFiles が送信されるため、待ち時間が短くなる可能性があります。しかし、パフォーマンスが著しく低下する可能性があります。値が大きくなると、 FlowFiles を送信する前にすべての情報を保存するために、より多くのメモリが必要になる場合があります。Record Writerの主な利点の1つは、リスト全体を1つの FlowFile として出力できることであるため、Record Writerを使用する場合、このプロパティは無視されます。

リスティング戦略

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

最大オブジェクト年齢

S3オブジェクトが考慮されるための最大年齢。(最終更新日付に従って)この時間より古いオブジェクトは無視されます。

最低オブジェクト年齢

S3オブジェクトが考慮されるために最低限必要な年齢。(最終更新日付に従って)この期間より新しいオブジェクトは無視されます。

プレフィックス

オブジェクトリストのフィルターに使用するプレフィックス。フォワード・スラッシュ「/」で始めないでください。大文字と小文字は、スラッシュ「/」で終わります。

記録ライター

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

リージョン

AWS 接続先のリージョン。

依頼者が支払う

trueの場合、依頼者はS3バケットをリストアップすることに関連するすべての料金を支払うことに同意することを示します。これは「x-amz-request-payer」ヘッダーを「requester」に設定します。なお、この設定は「Use Versions」が「true」の場合は適用されません。

SSL コンテキストサービス

もしプロバイダーが提供されていれば、接続の作成に使われる SSL Context Service を指定します。

署名者の上書き

AWS S3ライブラリはデフォルトで署名バージョン4を使用しますが、このプロパティを使用すると、古いS3互換サービスをサポートするためにバージョン2の署名者を指定したり、独自のカスタム署名者の実装をプラグインしたりすることができます。

使用バージョン

該当する場合、S3バージョンを使用するかどうかを指定します。falseの場合、各オブジェクトの最新バージョンのみが返されます。

オブジェクトタグを書く

「True」にセットすると、S3オブジェクトに関連付けられたタグは FlowFile 属性として書き込まれます。

ユーザーメタデータを書く

「True」にセットすると、S3オブジェクトに関連付けられたユーザー定義のメタデータが FlowFile 属性/記録に追加されます。

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. キャッシュされたエンティティとはサイズが異なる。キャッシュされたエンティティのタイムスタンプが指定された時間枠より古くなった場合、そのエンティティはキャッシュされた既にリストされているエンティティから削除されます。「エンティティの追跡」戦略で使用されます。

proxy-configuration-service

ネットワークリクエストをプロキシするプロキシ構成Controller Serviceを指定します。

状態管理

スコープ

説明

CLUSTER

キーのリストを実行した後、最新のキーのタイムスタンプが、同じタイムスタンプを共有するキーとともに格納されます。これにより、次にProcessorを実行するときに、この日付以降に追加または変更されたキーのみがリストされるようになります。状態はクラスタリングに保存され、このプロセッサーがPrimary Nodeで実行されます。新しいプライマリ・ノードが選択された場合、新しいノードはデータを複製することなく、前のノードが停止した場所を引き継ぐことができます。

リレーションシップ

名前

説明

success

FlowFiles は、正常に処理された後、この Relationship にルーティングされます。

属性の書き込み

名前

説明

s3.bucket

S3のバケット名

s3.region

S3バケットのリージョン

filename

ファイル名

s3.etag

ファイルが変更されたかどうかを確認するために使用できる ETag

s3.isLatest

オブジェクトの最新バージョンかどうかを示すブール。

s3.lastModified

UTC 時刻のエポックからのミリ秒単位の最終更新時刻。

s3.length

オブジェクトのサイズ(バイト単位)

s3.storeClass

オブジェクトのストレージクラス。

s3.version

オブジェクトのバージョン(あてはまる場合)

s3.tag.___

「Write Object Tags」が「True」にセットされている場合、リストされているS3オブジェクトに関連付けられたタグが、フローファイルの属性の一部として書き込まれます。

s3.user.metadata.___

「Write User Metadata」が「True」にセットされている場合、リストされているS3オブジェクトに関連付けられたユーザー定義のメタデータが、フローファイルの属性の一部として書き込まれます。

こちらもご覧ください