XMLReader

Description

Lit le contenu de XML et crée des objets d’enregistrement. Les enregistrements sont attendus dans le deuxième niveau de données de XML, intégrés dans une balise racine englobante.

Balises

parser, reader, record, xml

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

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

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

Préfixe de l’attribut

attribute_prefix

Si cette propriété est ensemble, le nom des attributs sera précédé d’un préfixe lorsqu’ils sont ajoutés à un enregistrement.

Nom du champ pour le contenu

content_field_name

Si des balises avec contenu (par exemple, <field>content</field>) sont définies comme des enregistrements imbriqués dans le schéma, le nom de la balise sera utilisé comme nom de l’enregistrement et la valeur de cette propriété sera utilisée comme nom du champ. Si les balises avec un contenu doivent être analysées avec des attributs (par exemple, <field attribute= »123 »>content</field>), elles doivent être définies comme des enregistrements. Dans ce casse-tête, le nom de la balise sera utilisé comme nom pour l’enregistrement et la valeur de cette propriété sera utilisée comme nom pour le champ contenant le contenu original. Le nom de l’attribut sera utilisé pour créer un nouveau champ d’enregistrement dont le contenu sera la valeur de l’attribut. Pour plus d’informations, reportez-vous à la section Détails supplémentaires de la documentation du service du contrôleur XMLReader.

Analyse des attributs XML

parse_xml_attributes

true

  • true

  • false

Lorsque la stratégie d’accès au schéma est Inférer le schéma et que cette propriété est true, les attributs XML sont analysés et ajoutés à l’enregistrement en tant que nouveaux champs. Lorsque le schéma est déduit mais que cette propriété est false, les attributs XML et leurs valeurs sont ignorés.

Attendez les enregistrements sous forme de tableau *

record_format

false

  • false

  • true

  • Utiliser l’attribut xml.stream.is.array

Cette propriété définit si le lecteur s’attend à ce qu’un FlowFile soit constitué d’un seul enregistrement ou d’une série d’enregistrements avec un élément d’enveloppe. Comme XML ne fournit pas de moyen de lire directement une série de documents XML à partir d’un flux, il est courant de combiner plusieurs documents XML en les concaténant, puis en enveloppant l’ensemble du blob XML d’un élément d’enveloppe. Cette propriété indique si le lecteur s’attend à ce que le FlowFile soit constitué d’un seul enregistrement ou d’une série d’enregistrements accompagnés d’un élément d’enveloppe qui sera ignoré.

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

schema-access-strategy

infer-schema

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

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

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

  • Déduire le schéma

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

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.

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.