PutElasticsearchRecord 2025.10.9.21

Bundle

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

Beschreibung

Ein datensatzbasierter Elasticsearch-Put-Prozessor, der die offiziellen Elastic REST-Client-Bibliotheken verwendet. Jeder Datensatz innerhalb des FlowFile wird in ein Dokument umgewandelt, das an die Elasticsearch _bulk-APi gesendet wird. In jeder an Elasticsearch gesendeten Anfrage können mehrere Dokumente zusammengefasst werden. Die Massenoperation jedes Dokuments kann mithilfe von „Record Path“-Ausdrücke konfiguriert werden.

Tags

elasticsearch, elasticsearch7, elasticsearch8, elasticsearch9, index, json, put, record

Eingabeanforderung

REQUIRED

Unterstützt sensible dynamische Eigenschaften

false

Eigenschaften

Eigenschaft

Beschreibung

Batch Size

Die Anzahl der Datensätze, die in einem einzigen Batch gesendet werden sollen.

Client Service

Ein Elasticsearch-Clientdienst, der für Abfragen verwendet wird.

Date Format

Gibt das Format an, das beim Schreiben von Datumsfeldern verwendet werden soll. Wenn nichts angegeben wird, wird das Standardformat „yyyy-MM-dd“ verwendet. Falls angegeben, muss der Wert dem Java Simple Date Format entsprechen (z. B. MM/dd/yyyy für einen zweistelligen Monat, gefolgt von einem zweistelligen Tag, gefolgt von einem vierstelligen Jahr, alle durch „/“-Zeichen getrennt, wie in 01/25/2017).

Dynamic Templates Record Path

Ein RecordPath, der auf ein Feld in dem/den Datensatz/en zeigt, das die dynamic_templates für das Dokument enthält. Das Feld muss mit dem Map-Typ kompatibel sein (z. B. eine Map oder ein Datensatz) oder eine Zeichenfolgen, die in ein JSON-Objekt geparst werden kann. Erfordert Elasticsearch 7+

Group Results by Bulk Error Type

The errored records written to the „errors“ relationship will be grouped by error type and the error related to the first record within the FlowFile added to the FlowFile as „elasticsearch.bulk.error“. If „Treat Not Found as Success“ is „false“ then records associated with „not_found“ Elasticsearch document responses will also be send to the „errors“ relationship.

ID Record Path

Ein Datensatzpfadausdruck, um das ID-Feld für die Verwendung mit Elasticsearch abzurufen. Wenn Sie dieses Feld leer lassen, wird die ID automatisch von Elasticsearch generiert.

Index

Der Name des zu verwendenden Indexes.

Index Operation

Der Typ der Operation, der für die Indizierung verwendet wird (Erstellen, Löschen, Indizieren, Aktualisieren, Upsert)

Index Operation Record Path

Ein Pfadausdruck zum Abrufen des Feldes „Index Operation“ zur Verwendung mit Elasticsearch. Wenn dieses Feld leer bleibt, wird die Indexoperation anhand der Haupteigenschaft „Index Operation“ festgelegt.

Index Record Path

Ein Datensatzpfadausdruck zum Abrufen des Indexfelds zur Verwendung mit Elasticsearch. Wenn dieses Feld leer bleibt, wird der Index anhand der Haupteigenschaft für den Index bestimmt.

Log Error Responses

Wenn dies aktiviert ist, werden Fehler in den NiFi-Protokollen auf der Ebene des Fehlerprotokolls protokolliert. Andernfalls werden sie nur protokolliert, wenn die Debug-Protokollierung für NiFi insgesamt aktiviert ist. Der Zweck dieser Option ist es, dem Benutzer die Möglichkeit zu geben, fehlgeschlagene Operationen zu debuggen, ohne die Debug-Protokollierung einschalten zu müssen.

Max JSON Field String Length

Die maximal zulässige Länge eines Zeichenfolgenwertes bei der Analyse eines JSON-Dokuments oder -Attributs.

Output Error Responses

Wenn dies aktiviert ist, werden Antwortmeldungen von Elasticsearch, die als „Fehler“ markiert sind, an die Beziehung „error_responses“ ausgegeben. Dies hat keinen Einfluss auf die Ausgabe von Flowfiles an die Beziehungen „erfolgreich“ oder „Fehler“.

Record Reader

Der Record Reader, der zum Lesen eingehender Datensätze aus FlowFiles verwendet wird.

Result Record Writer

Die Antwort von Elasticsearch wird auf fehlgeschlagene Datensätze untersucht und die fehlgeschlagenen Datensätze werden mit diesem Record Writer-Dienst in einen Datensatz geschrieben und an die Beziehung „errors“ gesendet. Erfolgreiche Datensätze werden mit diesem Datensatzschreiberdienst in einen Datensatzsatz geschrieben und an die Beziehung „successful“ gesendet.

Retain ID (Record Path)

Ob das vorhandene Feld, das als ID Record Path verwendet wird, beibehalten werden soll.

Retain Record Timestamp

Ob das vorhandene Feld als @timestamp-Datensatzpfad beibehalten werden soll.

Script Record Path

Ein RecordPath, der auf ein Feld in den Datensätzen verweist, das das Skript für die Aktualisierung/Einfügung des Dokuments enthält. Gilt nur für Update-/Upsert-Operationen. Das Feld muss mit dem Map-Typ kompatibel sein (z. B. eine Map oder ein Record) oder ein String, der in ein JSON-Objekt geparst werden kann.

Scripted Upsert Record Path

A RecordPath pointing to a field in the record(s) that contains the scripted_upsert boolean flag. Whether to add the scripted_upsert flag to the Upsert Operation. Forces Elasticsearch to execute the Script whether or not the document exists, defaults to false. If the Upsert Document provided (from FlowFile content) will be empty, but sure to set the Client Service controller service’s Suppress Null and Empty Values to Never Suppress or no „upsert“ doc will be, included in the request to Elasticsearch and the operation will not create a new document for the script to execute against, resulting in a „not_found“ error

Time Format

Gibt das Format an, das beim Schreiben von Zeitfeldern verwendet werden soll. Wenn nicht angegeben, wird das Standardformat „HH: mm:ss“ verwendet. Falls angegeben, muss der Wert dem Java Simple Date Format entsprechen (z. B. HH: mm:ss für eine zweistellige Stunde im 24-Stunden-Format, gefolgt von einer zweistelligen Minute, gefolgt von einer zweistelligen Sekunde, alle getrennt durch „:“-Zeichen, wie in 18:04:15).

Timestamp Format

Gibt das Format an, das beim Schreiben von Zeitstempelfeldern verwendet werden soll. Wenn nichts angegeben wird, wird das Standardformat „yyyy-MM-dd HH: mm:ss“ verwendet. Falls angegeben, muss der Wert dem Java Simple Date Format entsprechen (z. B. MM/dd/yyyy HH: mm:ss für einen zweistelligen Monat, gefolgt von einem zweistelligen Tag, gefolgt von einem vierstelligen Jahr, alle getrennt durch „/“-Zeichen; und dann gefolgt von einer zweistelligen Stunde im 24-Stunden-Format, gefolgt von einer zweistelligen Minute, gefolgt von einer zweistelligen Sekunde, alle getrennt durch „:“-Zeichen, wie in 01/25/2017 18:04:15).

Timestamp Record Path

Ein RecordPath, die auf ein Feld in den Datensätzen verweist, die den @Zeitstempel für das Dokument enthalten. Wenn dieses Feld leer bleibt, wird @timestamp anhand der Haupteigenschaft @timestamp bestimmt.

Timestamp Value

Der Wert, der als @timestamp-Feld verwendet werden soll (erforderlich für Elasticsearch Data Streams)

Treat Not Found as Success

Wenn „true“, werden „not_found“-Datensätze des zugehörigen Elasticsearch-Dokuments an die Beziehung „successful“ weitergeleitet, andernfalls an die Beziehung „errors“. Wenn „Output Error Responses“ „true“ ist, werden „not_found“-Antworten von Elasticsearch an die Beziehung „error_responses“ gesendet.

Typ

Der Typ dieses Dokuments (wird von Elasticsearch für die Indizierung und Suche verwendet).

Type Record Path

Ein Datensatzpfadausdruck zum Abrufen des Typfelds für die Verwendung mit Elasticsearch. Wenn Sie dieses Feld leer lassen, wird der Typ anhand der Haupteigenschaft für den Typ bestimmt.

Beziehungen

Name

Beschreibung

Fehler

Datensätze/Flowfile(s), die Elasticsearch-Dokumenten entsprechen, die zu einem „error“ (innerhalb von Elasticsearch) geführt haben, werden hierher weitergeleitet.

failure

Alle FlowFiles, die aus Gründen, die nicht mit der Serververfügbarkeit zusammenhängen, fehlschlagen, werden an diese Beziehung weitergeleitet.

original

Alle FlowFiles, die ohne Anfragefehler an Elasticsearch gesendet werden, gehen an diese Beziehung.

retry

Alle FlowFiles, die aufgrund der Server-/Clusterverfügbarkeit fehlschlagen, werden an diese Beziehung weitergeleitet.

successful

Datensätze/Flowdateien, die Elasticsearch-Dokumenten entsprechen, die keinen „Fehler“ (innerhalb von Elasticsearch) verursacht haben, werden hierher weitergeleitet.

Schreibt Attribute

Name

Beschreibung

elasticsearch.put.error

Die Fehlermeldung, wenn es ein Problem beim Parsen der FlowFile-Datensätze, beim Senden der geparsten Dokumente an Elasticsearch oder beim Parsen der Elasticsearch-Antwort gibt.

elasticsearch.put.error.count

Die Anzahl der Datensätze, die Fehler in der Elasticsearch _bulk-API erzeugt haben.

elasticsearch.put.success.count

Die Anzahl der Datensätze, die von der Elasticsearch _bulk-API erfolgreich verarbeitet wurden.

elasticsearch.bulk.error

Die _bulk-Antwort, wenn bei der Verarbeitung des Datensatzes in Elasticsearch ein Fehler aufgetreten ist.

Siehe auch: