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.
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 |
Die fehlerhaften Datensätze, die in die Beziehung „Fehler“ geschrieben werden, werden nach dem Fehlertyp und dem Fehler gruppiert, der sich auf den ersten Datensatz innerhalb des FlowFile bezieht und als „ elasticsearch.bulk.error“ zu FlowFile hinzugefügt. Wenn „Treat Not Found as Success“ „false“ ist, werden Datensätze, die mit „not_found“-Dokumentenantworten von Elasticsearch verknüpft sind, ebenfalls an die Fehlerbeziehung gesendet. |
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 |
Ein RecordPath zeigt auf ein Feld in den Datensätzen, die das boolesche Flag „scripted_upsert“ enthalten. Ob das Flag scripted_upsert zur Upsert-Operation hinzugefügt werden soll. Zwingt Elasticsearch, das Skript auszuführen, unabhängig davon, ob das Dokument existiert oder nicht. Standardmäßig ist „false“ eingestellt. Wenn das bereitgestellte Upsert-Dokument (von FlowFile-Inhalt) leer ist, stellen Sie sicher, dass Sie „Suppress Null and Empty Values“ des Client Service-Controller-Dienstes auf „Never Suppress“ einstellen oder es wird kein „Upsert“-Dokument erstellt, das in die Anforderung an Elasticsearch aufgenommen wird, und die Operation erstellt kein neues Dokument für das Skript zur Ausführung, was zu einem „not_found“-Fehler führt. |
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. |