JsonTreeReader¶
Beschreibung¶
Zerlegt JSON in einzelne Datensatzobjekte. Während der Leser erwartet, dass jeder Datensatz ein wohlgeformtes JSON ist, kann der Inhalt einer FlowFile aus vielen Datensätzen bestehen, die jeweils ein wohlgeformtes JSON-Array oder JSON-Objekt mit optionalen Leerzeichen dazwischen sind, wie z.B. das übliche ‚JSON-pro-Zeile-Format. Wenn ein Array gefunden wird, wird jedes Element in diesem Array als eigener Datensatz behandelt. Wenn das konfigurierte Schema ein Feld enthält, das in JSON nicht vorhanden ist, wird ein Nullwert verwendet. Wenn das JSON ein Feld enthält, das im Schema nicht vorhanden ist, wird dieses Feld übersprungen. Weitere Informationen und Beispiele finden Sie im Abschnitt „Verwendung des Controller Service“.
Eigenschaften¶
In der folgenden Liste sind die erforderlichen Eigenschaften mit einem Sternchen (*) gekennzeichnet. Andere Eigenschaften werden als optional betrachtet. Die Tabelle zeigt auch alle Standardwerte und ob eine Eigenschaft die NiFi Expression Language unterstützt.
Display Name (Anzeigename) |
API-Name |
Standardwert |
Zugelassene Werte |
Beschreibung |
---|---|---|---|---|
Allow Comments * |
Allow Comments |
false |
|
Ob Kommentare beim Parsen des JSON-Dokuments zugelassen werden sollen |
Date Format |
Date Format |
Gibt das Format an, das beim Lesen/Schreiben von Datumsfeldern verwendet werden soll. Wenn nicht anders angegeben, werden Datumsfelder als Anzahl der Millisekunden seit Epoche (Mitternacht, 1. Januar 1970 GMT) angenommen. Falls angegeben, muss der Wert dem Java-Format „java.time.format.DateTimeFormatter“ 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/01/2017). |
||
Max String Length * |
Max String Length |
20 MB |
Die maximal zulässige Länge eines Zeichenfolgenwertes beim Parsen des JSON-Dokuments |
|
Time Format |
Time Format |
Gibt das Format an, das beim Lesen/Schreiben von Zeitfeldern verwendet werden soll. Wenn nicht anders angegeben, werden Zeitfelder als Anzahl der Millisekunden seit Epoche (Mitternacht, 1. Januar 1970 GMT) angenommen. Falls angegeben, muss der Wert dem Java-Format „java.time.format.DateTimeFormatter“ 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). |
||
Timestamp Format |
Timestamp Format |
Gibt das Format an, das beim Lesen/Schreiben von Zeitstempelfeldern verwendet werden soll. Wenn nicht anders angegeben wird, werden die Zeitstempelfelder als Anzahl der Millisekunden seit Epoche (Mitternacht, 1. Januar 1970 GMT) angenommen. Falls angegeben, muss der Wert dem Java-Format „java.time.format.DateTimeFormatter“ 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/01/2017 18:04:15). |
||
Schema Access Strategy * |
schema-access-strategy |
infer-schema |
|
Gibt an, wie das Schema abgerufen wird, das zur Interpretation der Daten verwendet werden soll. |
Schema Application Strategy * |
schema-application-strategy |
SELECTED_PART |
|
Gibt an, ob das Schema für das gesamte JSON oder für den ausgewählten Teil beginnend mit „Starting Field Name“ definiert ist. |
Schema Branch |
schema-branch |
Gibt den Namen des Zweigs an, der beim Suchen des Schemas in der Eigenschaft „Schema Registry“ verwendet werden soll. Wenn die gewählte „Schema Registry“ keine Verzweigungen unterstützt, wird dieser Wert ignoriert. |
||
Schema Inference Cache |
schema-inference-cache |
Gibt einen Schema-Cache an, der beim Ableiten des Schemas verwendet werden soll. Wenn nicht ausgefüllt, wird das Schema jedes Mal neu abgeleitet. Wenn jedoch ein Cache angegeben ist, wird zunächst der Cache konsultiert und wenn das entsprechende Schema gefunden wird, wird es verwendet, anstatt das Schema abzuleiten. |
||
Schema Name |
schema-name |
${schema.name} |
Gibt den Namen des Schemas an, das in der Eigenschaft Schema Registry gesucht werden soll. |
|
Schema Reference Reader * |
schema-referenz-reader |
Dienstimplementierung, die für das Lesen von FlowFile-Attributen oder -Inhalten verantwortlich ist, um den Schema Reference Identifier zu ermitteln |
||
Schema Registry |
schema-registry |
Gibt den Controller Service an, der für die Schema Registry verwendet werden soll |
||
Schema Text |
schema-text |
${avro.schema} |
Der Text eines Avro-formatierten Schemas |
|
Schema Version |
schema-version |
Gibt die Version des Schemas an, die in der Schema Registry gesucht werden soll. Wenn nicht angegeben, wird die neueste Version des Schemas abgerufen. |
||
Starting Field Name |
starting-field-name |
Springt zum angegebenen verschachtelten JSON-Feld (Array oder Objekt), um mit der Verarbeitung zu beginnen. |
||
Starting Field Strategy * |
starting-field-strategy |
ROOT_NODE |
|
Beginnen Sie die Verarbeitung vom Stammknoten oder von einem angegebenen verschachtelten Knoten aus. |
Statusmanagement¶
Diese Komponente speichert keinen Status.
Eingeschränkt¶
Diese Komponente ist nicht eingeschränkt.
Hinweise zu Systemressourcen¶
Diese Komponente enthält keine Angaben zu den Systemressourcen.