PutElasticsearchRecord 2025.5.31.15

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, elasticsearch5, elasticsearch6, elasticsearch7, elasticsearch8, index, json, put, record

Eingabeanforderung

REQUIRED

Unterstützt sensible dynamische Eigenschaften

false

Eigenschaften

Eigenschaft

Beschreibung

Max JSON Field String Length

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

el-rest-client-service

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

el-rest-fetch-index

Der Name des zu verwendenden Indexes.

el-rest-type

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

put-es-not_found-is-error

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.

put-es-output-error-responses

Wenn diese Option aktiviert ist, werden als „Fehler“ gekennzeichnete Antwortmeldungen von Elasticsearch in die Beziehung „error_responses“ ausgegeben, ohne dass dies Auswirkungen auf die Ausgabe von Flowfiles in die Beziehung „successful“- oder „errors“ hat.

put-es-record-at-timestamp

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

put-es-record-at-timestamp-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).

put-es-record-at-timestamp-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.

put-es-record-at-timestamp-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).

put-es-record-at-timestamp-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).

put-es-record-batch-size

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

put-es-record-bulk-error-groups

Die fehlerhaften Datensätze, die in die Beziehung „errors“ geschrieben werden, werden nach Fehlertyp gruppiert und der Fehler, der sich auf den ersten Datensatz innerhalb des FlowFile bezieht, wird dem FlowFile als „elasticsearch.bulk.error“ hinzugefügt. Wenn „Treat Not Found as Success“ auf „false“ gesetzt ist, werden Datensätze, die mit „not_found“-Dokumentantworten von Elasticsearch verknüpft sind, ebenfalls an die Beziehung „error“ gesendet.

put-es-record-dynamic-templates-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+

put-es-record-error-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.

put-es-record-id-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.

put-es-record-index-op

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

put-es-record-index-op-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.

put-es-record-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.

put-es-record-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.

put-es-record-reader

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

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

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

put-es-record-retain-id-field

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

put-es-record-script-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.

put-es-record-scripted-upsert-path

Ein RecordPath, der auf ein Feld in den Datensätzen verweist, das das boolesche Flag „scripted_upsert“ enthält. Ob das Flag „scripted_upsert“ zur Upsert-Operation hinzugefügt werden soll. Erzwingt, dass Elasticsearch das Skript ausführt, unabhängig davon, ob das Dokument existiert oder nicht. Der Standardwert ist „false“. Wenn das bereitgestellte Upsert-Dokument (von FlowFile content) leer ist, stellen Sie sicher, dass die Option „Null/Leere Werte unterdrücken“ des Client Service Controller-Dienstes auf „Nie unterdrücken“ eingestellt ist, da sonst kein Upsert-Dokument in die Anfrage an Elasticsearch aufgenommen wird und die Operation kein neues Dokument für die Ausführung des Skripts erstellt, was zu einem „not_found“-Fehler führt

put-es-record-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: