ListS3 2025.5.31.15

バンドル

org.apache.nifi | nifi-aws-nar

説明

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

タグ

AWS 、Amazon、 S3、 リスト

入力要件

FORBIDDEN

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

false

プロパティ

プロパティ

説明

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

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

バケット

やり取りするS3バケット

通信タイムアウト

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

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

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

リストバッチサイズ

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

リージョン

AWS 接続先のリージョン。

SSL コンテキストサービス

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

署名者の上書き

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

custom-signer-class-name

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

custom-signer-module-location

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

delimiter

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

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. キャッシュされているエンティティとサイズが異なる。キャッシュされたエンティティのタイムスタンプが指定されたウィンドウより古くなると、そのエンティティはキャッシュされた既リストのエンティティから削除されます。「トラッキングエンティティ」ストラテジーで使用されます。

list-type

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

listing-strategy

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

max-age

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

min-age

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

prefix

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

proxy-configuration-service

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

record-writer

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

requester-pays

trueの場合、リクエスト送信者はS3バケットのリストに関連する料金を支払うことに同意することを示します。これは 'x-amz-request-payer' ヘッダーを 'requester' にセットします。「Use Versions」が「true」の場合、この設定はアプリケーションではありません。

use-versions

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

write-s3-object-tags

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

write-s3-user-metadata

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

状態管理

スコープ

説明

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オブジェクトに関連付けられたユーザー定義のメタデータが、フローファイルの属性の一部として書き込まれます。

こちらもご覧ください