PutElasticsearchJson 2025.5.31.15

Bundle

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

Description

Un processeur de mise en place d’Elasticsearch qui utilise les bibliothèques client officielles d’Elastic REST. Chaque FlowFile est traité comme un document à envoyer au _bulk Elasticsearch API. Plusieurs FlowFiles peuvent être regroupées en lots dans chaque requête envoyée à Elasticsearch.

Balises

elasticsearch, elasticsearch5, elasticsearch6, elasticsearch7, elasticsearch8, index, json, put

Exigences en matière d’entrées

REQUIRED

Prend en charge les propriétés dynamiques sensibles

false

Propriétés

Propriété

Description

Max JSON Field String Length

Longueur maximale autorisée pour une valeur de chaîne lors de l’analyse d’un document ou d’un attribut JSON.

el-rest-client-service

Un service client Elasticsearch à utiliser pour l’exécution des requêtes.

el-rest-fetch-index

Le nom de l’index à utiliser.

el-rest-type

Le type de ce document (utilisé par Elasticsearch pour l’indexation et la recherche).

put-es-json-charset

Spécifie le jeu de caractères des données du document.

put-es-json-dynamic_templates

Les modèles dynamiques pour le document. Doit pouvoir être analysé comme un objet JSON. Exige Elasticsearch 7+

put-es-json-id-attr

Le nom de l’attribut FlowFile contenant l’identificateur du document. Si l’opération d’indexation est « index », cette propriété peut être laissée vide ou évaluer à une valeur vide, auquel cas l’identifiant du document sera généré automatiquement par Elasticsearch. Pour toutes les autres opérations d’indexation, l’attribut doit être évalué à une valeur non vide.

put-es-json-script

Le script pour la mise à jour/le transfert de documents. Ne s’applique qu’aux opérations de mise à jour/suppression. Doit pouvoir être analysé comme un objet JSON. S’il est laissé vide, le contenu FlowFile sera utilisé pour la mise à jour ou l’upsert du document.

put-es-json-scripted-upsert

Indique s’il faut ajouter l’indicateur scripted_upsert à l’opération Upsert. Si “true”, force Elasticsearch à exécuter le script que le document existe ou non, la valeur par défaut est false. Si le document d’Upsert fourni (à partir du contenu FlowFile) est vide, assurez-vous que le service du contrôleur Client Service ait le paramètre Suppress Null/Empty Values défini sur Never Suppress, sinon aucun document « upsert » ne sera inclus dans la requête vers Elasticsearch et l’opération ne créera pas de nouveau document pour que le script s’exécute, entraînant une erreur « not_found ».

put-es-not_found-is-error

Si “true”, les enregistrements Elasticsearch associés à des documents « not_found » seront routés vers la relation “successful”, sinon vers la relation « errors ». Si Output Error Responses est “true”, les réponses « not_found » d’Elasticsearch seront envoyées vers la relation error_responses.

put-es-output-error-responses

Si cette option est activée, les messages de réponse d’Elasticsearch marqués comme « erreur » seront sortis dans la relation « error_responses ». Cela n’a pas d’impact sur la sortie des FlowFiles dans les relations « successful » ou « errors »

put-es-record-batch-size

Le nombre préféré de FlowFiles à envoyer en un seul lot

put-es-record-index-op

Le type de l’opération utilisée pour l’index (création, suppression, index, mise à jour, insertion)

put-es-record-log-error-responses

Si cette option est activée, les erreurs seront consignées dans les journaux NiFi au niveau “error”. Sinon, elles ne seront connectées que si la connexion de débogage est activée sur NiFi dans son ensemble. L’objectif de cette option est de donner à l’utilisateur la possibilité de déboguer les opérations qui ont échoué sans avoir à activer la connexion de débogage.

Relations

Nom

Description

errors

Enregistrements/FlowFiles correspondant à des documents Elasticsearch ayant entraîné une réponse « error » (au sein d’Elasticsearch) seront routés ici.

failure

Tous les FlowFiles qui échouent pour des raisons indépendantes de la disponibilité du serveur sont dirigés vers cette relation.

original

Tous les flowfiles qui sont envoyés à Elasticsearch sans échec de requête vont dans cette relation.

retry

Tous les FlowFiles qui échouent en raison de la disponibilité du serveur/cluster sont dirigés vers cette relation.

successful

Les enregistrements/fichiers de flux correspondant aux documents Elasticsearch qui n’ont pas donné lieu à une « erreur » (au sein d’Elasticsearch) seront routés ici.

Écrit les attributs

Nom

Description

elasticsearch.put.error

Le message d’erreur s’il y a un problème lors de l’analyse du FlowFile, de l’envoi du document analysé à Elasticsearch ou de l’analyse de la réponse Elasticsearch

elasticsearch.bulk.error

La réponse _bulk en cas d’erreur lors du traitement du document au sein d’Elasticsearch.

Voir aussi :