PutElasticsearchRecord 2025.5.31.15¶
Bundle¶
org.apache.nifi | nifi-elasticsearch-restapi-nar
Description¶
Un processeur de mise en place d’Elasticsearch tenant compte des enregistrements et utilisant les bibliothèques client officielles d’Elastic REST. Chaque enregistrement contenu dans le FlowFile est converti en une documentation à envoyer à l’API _bulk Elasticsearch APi. Plusieurs documents peuvent être mis en lot dans chaque requête envoyée à Elasticsearch. L’opération en bloc de chaque document peut être configurée à l’aide d’expressions de chemin d’enregistrement.
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-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-at-timestamp |
La valeur à utiliser comme champ @timestamp (exigence pour les flux de données Elasticsearch) |
put-es-record-at-timestamp-date-format |
Spécifie le format à utiliser lors de la rédaction des champs Date. S’il n’est pas spécifié, le format par défaut “aaaa-MM-dd” est utilisé. Si elle est spécifiée, la valeur doit correspondre au format de date simple de Java (par exemple, MM/jj/aaaa pour un mois à deux chiffres, suivi d’un jour à deux chiffres, suivi d’une année à quatre chiffres, tous séparés par des caractères “/”, comme dans 01/25/2017). |
put-es-record-at-timodatage-path |
Un RecordPath pointant vers un champ du ou des enregistrements qui contient le @timestamp du document. S’il est laissé vide, l’horodatage sera déterminé à l’aide de la propriété principale @timestamp |
put-es-record-at-timestamp-time-format |
Spécifie le format à utiliser lors de la rédaction des champs Heure. S’il n’est pas spécifié, le format par défaut “HH: mm:ss” est utilisé. Si elle est spécifiée, la valeur doit correspondre au format Java java.time.format. (par exemple, HH:mm:ss pour une heure à deux chiffres au format 24 heures, suivie d’une minute à deux chiffres, suivie d’une seconde à deux chiffres, le tout séparé par des caractères “:”, comme dans 18:04:15). |
put-es-record-at-timestamp-timestamp-format |
Spécifie le format à utiliser lors de l’écriture des champs horodatage. S’il n’est pas spécifié, le format par défaut “aaaa-MM-dd HH: mm:ss” est utilisé. Si elle est spécifiée, la valeur doit correspondre au format de date simple de Java (par exemple, MM/jj/aaaa HH:mm:ss pour un mois à deux chiffres, suivi d’un jour à deux chiffres, suivi d’une année à quatre chiffres, tous séparés par des caractères “/” ; puis suivi d’une heure à deux chiffres au format 24 heures, suivie d’une minute à deux chiffres, suivie d’une seconde à deux chiffres, tous séparés par des caractères “:”, comme dans 01/25/2017 18:04:15). |
put-es-record-batch-size |
Nombre d’enregistrements à envoyer en un seul lot. |
put-es-record-bulk-error-groups |
Les enregistrements erronés écrits dans la relation “errors” seront regroupés par type d’erreur et l’erreur liée au premier enregistrement du FlowFile ajoutée au FlowFile en tant que “elasticsearch.bulk.error”. Si la valeur « Treat « Not Found » as Success » est « false », les enregistrements associés aux réponses « not_found » des documents Elasticsearch seront également envoyés à la relation « errors ». |
put-es-record-dynamic-templates-path |
Un RecordPath pointant vers un champ du ou des enregistrements qui contient les dynamic_templates pour le document. Le champ doit être compatible avec le type de carte (par exemple, une carte ou un enregistrement) ou une chaîne pouvant être analysée en un objet JSON. Exige Elasticsearch 7+ |
put-es-recorder-error-writer |
La réponse d’Elasticsearch sera examinée pour détecter les enregistrements défaillants et ces derniers seront écrits dans un ensemble d’enregistrements avec ce service Record Writer et envoyés dans la relation « errors ». Les enregistrements réussis seront écrits dans un ensemble d’enregistrements avec ce service de rédaction d’enregistrements et envoyés à la relation « réussi ». |
put-es-record-id-path |
Une expression de chemin d’enregistrement pour récupérer le champ ID à utiliser avec Elasticsearch. S’il est laissé vide, l’ID sera automatiquement généré par Elasticsearch. |
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-index-op-path |
Une expression de chemin d’enregistrement pour récupérer le champ Opération d’index pour une utilisation avec Elasticsearch. Si elle est laissée vide, l’opération d’indexation sera déterminée à l’aide de la propriété principale d’opération d’indexation. |
put-es-record-index-record-path |
Une expression de chemin d’enregistrement pour récupérer le champ d’index pour une utilisation avec Elasticsearch. S’il n’est pas renseigné, l’index sera déterminé à l’aide de la propriété de l’index principal. |
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. |
mettre-es-record-lecteur |
Le Record Reader à utiliser pour lire les enregistrements entrants des fichiers de flux. |
put-es-record-retain-at-timestamp-field |
Indique s’il faut conserver le champ existant utilisé comme chemin d’enregistrement pour le @timestamp. |
put-es-record-retain-id-field |
Indique s’il faut conserver le champ existant utilisé comme chemin d’accès à l’enregistrement ID. |
put-es-record-script-path |
Un RecordPath pointant vers un champ du ou des enregistrements qui contient le script pour la mise à jour/upsert du document. Ne s’applique qu’aux opérations de mise à jour/suppression. Le champ doit être compatible avec le type de carte (par exemple, une carte ou un enregistrement) ou une chaîne pouvant être analysée en un objet JSON |
put-es-record-scripted-upsert-path |
Un RecordPath pointant vers un champ du ou des enregistrements qui contient l’indicateur booléen scripted_upsert. Indique s’il faut ajouter l’indicateur scripted_upsert à l’opération Upsert. 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-record-type-record-path |
Une expression de chemin d’enregistrement pour récupérer le champ type à utiliser avec Elasticsearch. S’il n’est pas renseigné, le type sera déterminé à l’aide de la propriété du type principal. |
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 en cas de problème lors de l’analyse des enregistrements FlowFile, de l’envoi des documents analysés à Elasticsearch ou de l’analyse de la réponse d’Elasticsearch. |
elasticsearch.put.error.count |
Le nombre d’enregistrements qui ont généré des erreurs dans le _bulk API d’Elasticsearch . |
elasticsearch.put.success.count |
Le nombre d’enregistrements qui ont été traités avec succès par la recherche Elastic _bulk API. |
elasticsearch.bulk.error |
La réponse _bulk en cas d’erreur lors du traitement de l’enregistrement au sein d’Elasticsearch. |