PutElasticsearchRecord 2025.5.31.15

バンドル

org.apache.nifi | nifi-elasticsearch-restapi-nar

説明

公式の Elastic REST クライアントライブラリを使用する、記録を意識した Elasticsearch put プロセッサー です。FlowFile 内の各記録はドキュメントに変換され、Elasticsearch _bulk APi に送信されます。Elasticsearchに送信される各リクエストには、複数のドキュメントをバッチすることができます。各ドキュメントの一括演算子は、記録パス式を使用して構成することができます。

タグ

elasticsearch, elasticsearch5, elasticsearch6, elasticsearch7, elasticsearch8, index, json, put, record

入力要件

REQUIRED

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

false

プロパティ

プロパティ

説明

最大 JSON フィールド文字列長

JSON ドキュメントまたは属性をパースするときに許容される文字列値の最大長。

el-rest-client-service

クエリの実行に使用する Elasticsearch クライアントサービスです。

el-rest-fetch-index

使用するインデックスの名前。

el-rest-type

このドキュメントのタイプ (Elasticsearch がインデックス作成と検索に使用します)。

put-es-not_found-is-error

true の場合、 "not_found" Elasticsearch ドキュメントに関連付けられた記録は "successful" リレーションシップにルーティングされ、そうでない場合は "errors" リレーションシップにルーティングされます。Output Error Responses が "true" の場合、Elasticsearch からの "not_found" レスポンスが error_responses リレーションシップに送られます。

put-es-output-error-responses

この設定を有効にすると、 "エラー" とマークされたElasticsearchからの応答メッセージは "error_responses" リレーションシップに出力されます。これは "successful" または "errors" リレーションシップへのフローファイルの出力に影響しません。

put-es-record-at-timestamp

タイムスタンプ(@timestamp)フィールドとして使用する値(Elasticsearch データストリームでは必須)

put-es-record-at-timestamp-date-format

Dateフィールドを記述する際に使用する形式を指定します。指定しない場合は、デフォルトの形式'yyyy-MM-dd'が使用されます。指定された場合、値は Java Simple Date Format (例えば、 MM/dd/yyyy は、2 桁の月、2 桁の日、4 桁の年が続き、01/25/2017 のようにすべて '/' 文字で区切られています) と一致する必要があります。

put-es-record-at-timestamp-path

ドキュメントのタイムスタンプを含む記録のフィールドを指す RecordPath。空白の場合、タイムスタンプはメインの@timestampプロパティを使用して決定されます。

put-es-record-at-timestamp-time-format

Timeフィールドを記述する際に使用する形式を指定します。指定しない場合は、デフォルトの形式 'HH:mm:ss' が使用されます。指定された場合、値はJava Simple Date Format (例えば、 HH:mm:ssは、24時間形式の2桁の時、2桁の分、2桁の秒の順に続き、18:04:15のようにすべて ':' 文字で区切られます)と一致しなければなりません。

put-es-record-at-timestamp-timestamp-format

Timestampフィールドの書き込みに使用する形式を指定します。指定しない場合、デフォルトの形式'yyyy-MM-dd HH:mm:ss'が使用されます。指定された場合、値は Java Simple Date Format (例えば、 MM/dd/yyyy HH:mm:ss のように、2 桁の月、2 桁の日、4 桁の年が続き、すべて '/' 文字で区切られ、その後に 24 時間形式で 2 桁の時、2 桁の分、2 桁の秒が続き、2017/01/25 18:04:15 のようにすべて ':' 文字で区切られています) と一致する必要があります。

put-es-record-batch-size

1バッチで送信する記録数。

put-es-record-bulk-error-groups

「errors」リレーションシップに書き込まれたエラー記録は、エラータイプごとにグループ化され、 FlowFile 内の最初の記録に関連するエラーが「elasticsearch.bulk.error」として FlowFile に追加されます。もし "Treat "Not Found" as Success" が "false" であれば、"not_found" Elasticsearchドキュメントのレスポンスに関連する記録も "errors" リレーションに送られます。

put-es-record-dynamic-templates-path

ドキュメントの dynamic_templates を含む記録内のフィールドを指す RecordPath。フィールドはマップタイプと互換性のあるもの(マップや記録など)か、 JSON オブジェクトにパース可能な文字列でなければなりません。Elasticsearch 7+が必要

put-es-record-error-writer

Elasticsearch からのレスポンスは失敗した記録について調べられ、失敗した記録はこの record writer サービスで記録セットに書き込まれ、"errors" リレーションシップに送られます。成功した記録は、この記録作成サービスを使用して記録セットに書き込まれ、「成功した」関係に送信されます。

put-es-record-id-path

Elasticsearch で使用する ID フィールドを取得するための記録パス式。空白の場合、 ID は Elasticsearch によって自動的に生成されます。

put-es-record-index-op

インデックスに使用する演算子のタイプ (作成、削除、インデックス、更新、upsert)

put-es-record-index-op-path

Elasticsearch で使用するインデックス操作フィールドを取得するための記録パス式。空白の場合、インデックス操作はメインのインデックス操作プロパティを使用して決定されます。

put-es-record-index-record-path

Elasticsearch で使用するインデックスフィールドを取得するための記録パス式。空白の場合、インデックスはメインインデックスプロパティを使用して決定されます。

put-es-record-log-error-responses

これを有効にすると、エラーはエラーログレベルで NiFi ログに記録されます。そうでない場合は、 NiFi 全体でデバッグログが有効になっている場合にのみログが記録されます。このオプションの目的は、ユーザーがデバッグログをオンにしなくても、失敗した操作をデバッグできるようにすることです。

put-es-record-reader

フローファイルからの受信記録の読み取りに使用するRecord Reader。

put-es-record-retain-at-timestamp-field

@timestamp Record Pathとして使用されている既存のフィールドを保持するかどうか。

put-es-record-retain-id-field

ID 記録パスとして使用されている既存のフィールドを保持するかどうか。

put-es-record-script-path

ドキュメントの更新/upsert スクリプトを含む記録内のフィールドを指す RecordPath。Update/Upsert 操作にのみ適用されます。フィールドはマップタイプと互換性のあるもの(マップや記録など)、または JSON オブジェクトにパース可能な文字列である必要があります。

put-es-record-scripted-upsert-path

scripted_upsert boolean フラグを含む記録内のフィールドを指す RecordPath。Upsert操作にscripted_upsertフラグを追加するかどうか。ドキュメントが存在するか否かに関わらず、Elasticsearch にスクリプトを実行させます。提供されたアップサートドキュメント (FlowFile コンテンツから) が空の場合、クライアントサービスController Serviceの Suppress Null/Empty Values を Never Suppress にセットしなければ、Elasticsearch へのリクエストに "upsert" ドキュメントが含まれず、スクリプトが実行するための新しいドキュメントが作成されないため、"not_found" エラーが発生します。

put-es-record-type-record-path

Elasticsearch で使用するタイプフィールドを取得するための記録パス式。空欄の場合、タイプはメイン・タイプ・プロパティを使用して決定されます。

リレーションシップ

名前

説明

errors

(Elasticsearch内で)「エラー」となった Elasticsearch ドキュメントに対応する記録/フローファイルはここにルーティングされます。

failure

サーバーの可用性とは無関係な理由で失敗したすべてのフローファイルは、この関係に移動します。

original

リクエストに失敗せずにElasticsearchに送信されたすべてのフローファイルは、このリレーションシップに送られます。

retry

サーバー/クラスタの可用性のために失敗したすべてのフローファイルは、この関係に移動します。

successful

Elasticsearch ドキュメントに対応する記録/フローファイルのうち、(Elasticsearch 内で)「エラー」にならなかったものはここにルーティングされます。

属性の書き込み

名前

説明

elasticsearch.put.error

FlowFile 記録の解析、解析されたドキュメントの Elasticsearch への送信、または Elasticsearch レスポンスの解析に問題がある場合のエラーメッセージです。

elasticsearch.put.error.count

Elasticsearch _bulk API でエラーが発生した記録数。

elasticsearch.put.success.count

Elasticsearch _bulk API によって正常に処理された記録数。

elasticsearch.bulk.error

Elasticsearch での記録処理中にエラーが発生した場合の _bulk レスポンス。

こちらもご覧ください