PutElasticsearchRecord 2025.5.31.15¶
バンドル¶
org.apache.nifi | nifi-elasticsearch-restapi-nar
説明¶
公式の Elastic REST クライアントライブラリを使用する、記録を意識した Elasticsearch put プロセッサー です。FlowFile 内の各記録はドキュメントに変換され、Elasticsearch _bulk APi に送信されます。Elasticsearchに送信される各リクエストには、複数のドキュメントをバッチすることができます。各ドキュメントの一括演算子は、記録パス式を使用して構成することができます。
入力要件¶
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 レスポンス。 |