YamlTreeReader

Description

Analyse YAML en objets d’enregistrement individuels. Alors que le lecteur s’attend à ce que chaque enregistrement soit bien formé (YAML), le contenu d’un site FlowFile peut consister en de nombreux enregistrements, chacun étant un tableau YAML ou un objet YAML bien formé. Si un tableau est rencontré, chaque élément de ce tableau sera traité comme un enregistrement distinct. Si le schéma configuré contient un champ qui n’est pas présent dans le YAML, une valeur nulle sera utilisée. Si le YAML contient un champ qui n’est pas présent dans le schéma, ce champ sera ignoré. Veuillez noter que ce service de contrôleur ne permet pas de résoudre l’utilisation des alias YAML. Tout alias présent sera traité comme une chaîne. Voir l’utilisation du Controller Service pour plus d’informations et d’exemples.

Balises

parser, reader, record, tree, yaml

Propriétés

Dans la liste ci-dessous, les propriétés requises sont signalées par un astérisque (*). Les autres propriétés sont considérées comme facultatives. La table indique également les valeurs par défaut et précise si une propriété prend en charge le langage d’expression NiFi.

Nom d’affichage

Nom d’API

Valeur par défaut

Valeurs autorisées

Description

Autoriser les commentaires *

Autoriser les commentaires

false

  • true

  • false

Autoriser ou non les commentaires lors de l’analyse du document JSON

Format de date

Format de date

Spécifie le format à utiliser lors de la lecture/écriture des champs de date. S’ils ne sont pas spécifiés, les champs Date seront considérés comme étant le nombre de millisecondes écoulées depuis l’époque (minuit, 1er janvier 1970 GMT). Si elle est spécifiée, la valeur doit correspondre au format Java java.time.format.DateTimeFormatter (par exemple, jj/MM/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/01/2017).

Longueur maximale de la chaîne *

Longueur maximale de la chaîne

20 MB

Longueur maximale autorisée d’une valeur de chaîne lors de l’analyse du document JSON

Format de l’heure

Format de l’heure

Spécifie le format à utiliser lors de la lecture/écriture des champs Time. S’ils ne sont pas spécifiés, les champs Time seront considérés comme étant le nombre de millisecondes depuis l’époque (minuit, 1er janvier 1970 GMT). Si elle est spécifiée, la valeur doit correspondre au format Java java.time.format.DateTimeFormatter (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).

Timestamp Format

Timestamp Format

Spécifie le format à utiliser lors de la lecture/écriture des champs horodatage. S’ils ne sont pas spécifiés, les champs d’horodatage seront considérés comme étant le nombre de millisecondes depuis l’époque (minuit, 1er janvier 1970 GMT). Si elle est spécifiée, la valeur doit correspondre au format Java java.time.format.DateTimeFormatter (par exemple, jj/MM/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/01/2017 18:04:15).

Stratégie d’accès au schéma *

schema-access-strategy

infer-schema

  • Déduire le schéma

  • Utiliser la propriété Nom du schéma

  • Utiliser la propriété Texte du schéma

  • Lecteur de référence de schéma

Indique comment obtenir le schéma à utiliser pour interpréter les données.

Stratégie d’application du schéma *

schema-application-strategy

SELECTED_PART

  • JSON entier

  • Partie sélectionnée

Indique si le schéma est défini pour l’ensemble du JSON ou pour la partie sélectionnée à partir de Nom du champ de départ.

Branche du schéma

schema-branch

Spécifie le nom de la branche à utiliser lors de la recherche du schéma dans la propriété Schema Registry. Si le registre de schémas choisi ne prend pas en charge la ramification, cette valeur sera ignorée.

Cache d’inférence de schéma

schema-inference-cache

Spécifie un cache de schéma à utiliser lors de la déduction du schéma. S’il n’est pas renseigné, le schéma sera déduit à chaque fois. Toutefois, si un cache est spécifié, le cache sera d’abord consulté et si le schéma applicable peut être trouvé, il sera utilisé au lieu de déduire le schéma.

Nom de schéma

schema-name

${schema.name}

Spécifie le nom du schéma à rechercher dans la propriété Schema Registry

Lecteur de référence de schéma *

schema-reference-reader

Mise en œuvre du service responsable de la lecture des attributs ou du contenu de FlowFile pour déterminer l’identifiant de référence du schéma

Registre des schémas

schema-registry

Spécifie le Controller Service à utiliser pour le registre des schémas

Texte du schéma

schema-text

${avro.schema}

Le texte d’un schéma formaté par Avro

Version du schéma

schema-version

Spécifie la version du schéma à rechercher dans le registre des schémas. Si elle n’est pas spécifiée, c’est la dernière version du schéma qui sera récupérée.

Nom du champ de départ

starting-field-name

Passe au champ imbriqué JSON spécifié (tableau ou objet) pour commencer le traitement.

Stratégie pour le champ de départ *

starting-field-strategy

ROOT_NODE

  • Nœud racine

  • Champ imbriqué

Commencez le traitement à partir du nœud racine ou d’un nœud imbriqué spécifié.

Gestion de l’État

Ce composant ne stocke pas d’état.

Restreint

Cette composante n’est pas limitée.

Considérations relatives aux ressources du système

Ce composant ne précise pas les ressources du système à prendre en compte.