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.
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. |