ListGoogleDrive 2025.5.31.15¶
バンドル¶
org.apache.nifi | nifi-gcp-nar
説明¶
Google Driveフォルダ内の具体的なファイル (ショートカットは無視されます) のリストをパフォーマンスします。'Record Writer' プロパティがセットされている場合、1 つの Output FlowFile が作成され、リスト内の各ファイルが 1 つの記録として出力ファイルに書き込まれます。そうでなければ、リスト内の各ファイルについて、個別の FlowFile が作成されます。メタデータは FlowFile 属性として書き込まれます。このプロセッサーは、クラスタ内のプライマリノードのみで動作するように設計されています。プライマリ・ノードが変更された場合、新しいプライマリ・ノードは、すべてのデータを複製することなく、前のノードが去った場所を引き継ぎます。Googleドライブへのアクセスのセットアップについては、「追加情報」をご覧ください。
入力要件¶
FORBIDDEN
機密動的プロパティをサポート¶
false
プロパティ¶
プロパティ |
説明 |
---|---|
connect-timeout |
Google Driveサービスへの接続にかかる最大待機時間。 |
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. キャッシュされているエンティティとサイズが異なる。キャッシュされたエンティティのタイムスタンプが指定されたウィンドウより古くなると、そのエンティティはキャッシュされた既リストのエンティティから削除されます。「トラッキングエンティティ」ストラテジーで使用されます。 |
folder-id |
ID ファイルのリストを取得するフォルダのリスト。Googleドライブへのアクセスをセットアップし、フォルダ ID を取得するには、追加の詳細情報を参照してください。WARNING: フォルダへの不正アクセスは、そのフォルダが空であったものとして扱われます。この結果、プロセッサーは発信 FlowFiles を作成しなくなります。追加のエラーメッセージは提供されません。 |
gcp-credentials-provider-service |
Google Cloud Platform の認証情報の取得に使用する Controller Service。 |
listing-strategy |
新規/更新エンティティの判定方法を指定します。詳しくは各戦略の説明をご覧ください。 |
min-age |
ファイルが引き出さえっるために必要な最低年齢。これより若いファイルは無視されます。 |
proxy-configuration-service |
ネットワークリクエストをプロキシするプロキシ構成Controller Serviceを指定します。 |
read-timeout |
Google Driveサービスからの応答にかかる最大待ち時間。 |
record-writer |
リストの作成に使用するRecord Writerを指定します。指定しない場合は、リストされたエンティティごとに FlowFile が1つ作成されます。Record Writerを指定すると、個々の FlowFiles に属性を追加する代わりに、すべてのエンティティが単一の FlowFile に書き込まれます。 |
recursive-search |
'true' の場合、具体的なサブフォルダのファイルリストを含めます (ショートカットは無視します)。そうでない場合は、定義された 'Folder ID' を直接親として持つファイルのみを返します。WARNING: サブフォルダが多すぎる (500 以上) と、リストが失敗することがあります。 |
状態管理¶
スコープ |
説明 |
---|---|
CLUSTER |
プロセッサーは、すでにリストアップされたファイルを追跡できるように、必要なデータを保存します。具体的に何を保存する必要があるかは、「リストストラテジー」によって異なります。状態はクラスタリングに保存され、このプロセッサーがPrimary Nodeで実行されます。新しいプライマリ・ノードが選択された場合、新しいノードはデータを複製することなく、前のノードが停止した場所を引き継ぐことができます。 |
リレーションシップ¶
名前 |
説明 |
---|---|
success |
受信したすべての FlowFiles は成功にルーティングされます。 |
属性の書き込み¶
名前 |
説明 |
---|---|
ドライブID |
ファイルのID |
filename |
ファイル名 |
mime.type |
ファイルの MIME タイプ |
drive.size |
ファイルのサイズ。ファイルサイズが利用可能でない場合(外部保存ファイルなど)は0をセット。 |
drive.size.available |
ファイルサイズが既知/利用可能 かどうかを示します。 |
drive.timestamp |
ファイルの最終更新時刻または作成時刻(いずれか大きい方)。その理由は、Googleドライブにアップロードすると、ファイルの元の更新日が保持されるからです。「作成時刻」は、アップロードが発生した時刻を取ります。しかし、アップロードされたファイルは後で変更することができます。 |
drive.created.time |
ファイルの作成時間 |
drive.modified.time |
ファイルの最終更新時刻 |
drive.path |
ベースディレクトリからのファイルのディレクトリパス。Google Drive ではファイル名に「/」 (スラッシュ) や「」 (バックスラッシュ) などの特殊文字が使用できるため、パスには URL でエンコードされたフォルダ名が含まれます。URL でエンコードされたフォルダ名は、パスの「/」で区切られます。 |
drive.owner |
ファイルの所有者 |
drive.last.modifying.user |
ファイルの最終変更ユーザー |
drive.web.view.link |
ファイルへのウェブ表示リンク |
drive.web.content.link |
ファイルへのウェブコンテンツリンク |
drive.parent.folder.id |
ファイルの親フォルダの ID |
drive.parent.folder.name |
ファイルの親フォルダ名 |
drive.listed.folder.id |
リストされたベースフォルダのid |
drive.listed.folder.name |
リストされたベースフォルダ名 |
drive.shared.drive.id |
共有ドライブの ID (ファイルが共有ドライブにある場合) |
drive.shared.drive.name |
共有ドライブの名前(ファイルが共有ドライブにある場合) |