Konfigurationsbereich
Im Konfigurationsbereich können die ausgewählten Elemente konfiguriert werden.
Dies gilt für fast alle Elemente des Diagramms, lediglich für den Funnel stehen keine Konfigurationsmöglichkeiten zur Verfügung.
Allgemeine Konfiguration
Standardmäßig werden im Konfigurationsbereich zunächst Einstellungsmöglichkeiten zur aktuell gewählten Prozessgruppe dargestellt. Sollte ein anderes Element ausgewählt worden sein, kann die Konfiguration für die aktuelle Prozessgruppe durch das Klicken auf einen leeren Bereich im Diagramm erneut geöffnet werden.
Neben der Konfiguration der Prozessgruppe besteht zudem die Möglichkeit, alle in der ausgewählten und den darunter liegenden Prozessgruppen in Queues wartenden Flowfiles zu löschen:
Zudem können vorhandene Prozessgruppen als JSON-Dateien heruntergeladen werden:
Diese JSON-Datei kann bei der Erstellung von Prozessgruppen ausgewählt werden, um sie an einem anderen Ort bzw. einem anderen System wiederherzustellen.
Toolbar des Konfigurationsbereichs
Bei der Konfiguration von Prozessoren befindet sich am oberen Rand des Konfigurationsbereichs eine Toolbar.
Bei der Auswahl eines Prozessors wird standardmäßig der Config Panel angezeigt, wobei zusätzliche Funktionen in der Toolbar zur Verfügung stehen.
In der folgenden Tabelle sind diese Funktionen in der Toolbar beschrieben:
|
Wechselt zur Data-Panel-Ansicht. |
|
Wechselt zur Config Panel-Ansicht. |
|
Wechselt zur Ansicht, in der Config- und Data-Panel gleichzeitig nebeneinander angezeigt werden. |
|
Öffnet die Ansicht der Prozessor-Properties im Config Panel, über den individuelle Anpassungen des ausgewählten Prozessors ermöglicht werden. |
|
Öffnet den Editor im Config Panel. |
|
Öffnet die Ansicht der Settings im Config Panel, über den allgemeine Anpassungen der ausgewählten Prozessoren vorgenommen werden können. |
|
Ermöglicht das Anlegen von Dynamic Properties für den ausgewählten Prozessor. |
|
Ermöglicht das Ein- und Ausblenden von Konfigurationsfeldern, die keine Pflichtangabe sind und zur zusätzlichen Konfiguration des Prozessors genutzt werden können. |
|
Verifiziert die Eingaben im Config Panel. |
|
Ermöglicht das xref:developing.adoc#isolated-execution durch eine isolierte Ausführung. |
|
Blendet die Fenster der Ergebnisse einer isolierten Ausführung ein und aus. |
Config Panel
Wird der Button "Config" ausgewählt, stehen unterschiedliche Anpassungsmöglichkeiten der Prozessoren zur Verfügung.
Neben allgemeinen Einstellungsmöglichkeiten können individuelle Anpassungen vorgenommen werden und angelegte Prozessoren getestet werden.
Für diese Anpassungsmöglichkeiten stehen ebenfalls unterschiedliche Ansichten zur Verfügung, die in Prozessor-Properties, Editor und Settings aufgeteilt sind und im Folgenden genauer beschrieben werden.
Prozessor-Properties
Die Prozessoren besitzen neben den allgemeinen Einstellungsmöglichkeiten, die für alle Prozessoren ähnlich sind, die prozessorspezifischen Properties. Dies ist bei allen Prozessoren zugleich die Ansicht, die im Config Panel zuerst angezeigt wird.
Eingabemöglichkeiten
Entsprechend der Typen der Daten gibt es Auswahllisten, Checkboxen und Textfelder. Notwendige Felder sind mit einem * markiert.
Erlauben die Felder die Nutzung der Expression Language, wird dies durch ein $ angezeigt.
Felder, die eine Expression Language erlauben, zeigen den Wert der Ausführung in einer gestrichelten Box unterhalb des Textfeldes an. Diese wird aber nur angezeigt, wenn der Wert von dem Eingabewert abweicht (Daten aus gewählten Ausführungen werden bei der Evaluierung berücksichtigt). Änderungen bei der Eingabe der Properties werden on-the-fly ausgewertet und das Ergebnis entsprechend angezeigt.
Ist an einem Feld kein Wert gesetzt, ist dieses hingegen leicht ausgegraut.
Zusätzlich werden Warnungen unter den Eingabefeldern angezeigt, sollten die getätigten Angaben fehlerhaft sein oder fehlen.
In dem mehrzeiligen Editor wird die Expression Language vollständig unterstützt.
Es gibt eine Vervollständigung (aufzurufen über Ctrl-Space), Syntax-Highlighting sowie die Markierung von Fehlern.
Die Vervollständigungen gibt es für die EL innerhalb von |
Dynamic Properties
Einige Prozessoren unterstützen neue, Nutzer-erstellte Properties, welche durch den -Button angelegt werden.
Diese dynamischen Angaben können für unterschiedliche Zwecke genutzt werden.
Sie können beispielsweise eingesetzt werden, um beim QueryRecord-Prozessor neue Filteroptionen hinzuzufügen oder beim InvokeHTTP-Prozessor neue HTTP-Header zu ergänzen.
Wofür die dynamischen Properties bei einzelnen Prozessoren verwendet werden können, ist bei eingeschalteten Tooltips bei dem ausgewählten Prozessor im Konfigurationsbereich beschrieben.
Sollten die dynamisch angelegten Properties Ergebnisse durch z.B. eine Query generieren, dann stehen die angelegten Properties ebenfalls als Relation zu anderen Elementen im Diagramm zur Verfügung.
Parameter
Ist an der Prozessgruppe, in welcher die Prozessoren liegen, ein Parameter-Kontext gesetzt, können den Properties der Prozessoren die Parameter aus diesem Kontext zugeordnet werden. Parameter-Kontexte werden in den zentralen Settings konfiguriert und sind im Abschnitt Parameter Contexts ausführlicher beschrieben.
Dokumentation
Within the Config Panel, you will also see detailed documentation regarding how to use the processor and each property’s function.
If you don’t see any documentation, click on the Info-Button in the top-right corner. |
The first paragraph provides general information regarding the processor’s purpose and technical aspects worth knowing when deciding whether the processor is suitable for your intended use.
Some processors will even provide links to "Additional Details" and "Use Cases" where the processor’s functionality and possible uses are explained in more detail.
In the bottom of the Config Panel there is more information about the processor, including any required user rights, consumption of system resource to consider, how dynamic properties are used, state management, and which attributes are read and written by the processor.
If there are any processors that are closely related with the processor, these will also be shown under "Related Components". Processors listed here can quickly be added to the diagram by drag-and-drop.
Editor
Bei einigen Prozessoren gibt es neben der Properties-Ansicht noch einen weiteren speziellen Moduleditor, der dann in der Toolbar sichtbar wird. Dies betrifft beispielsweise die Transform-Prozessoren JSONataTransformJSON und TransformXML.
Editor-Toolbar
Für den Editor existieren ebenfalls individuelle Funktionen, die über die Toolbar aufgerufen werden können. Genau wie in der Prozessor-Properties-Sicht kann der Prozessor über den -Button isoliert ausgeführt werden. Die Ergebnisse des Tests können mit dem anliegenden Pfeil-Button ein- oder ausgeblendet werden.
Darüber hinaus stehen weitere Funktionen in einer dritten Toolbar-Leiste zur Verfügung, die in der folgenden Tabelle aufgeführt sind.
|
Ermöglicht das Hochladen einer Textdatei in den Editor des Config Panels. |
|
Ermöglicht das Herunterladen des Inhalts im Editor. |
|
Löscht den gesamten Inhalt im Editor. |
|
Ermöglicht, die dargestellte Programmiersprache oder das Format des Inhalts im Editor anzupassen. Dadurch kann das Highlighting geändert und die Lesbarkeit verbessert werden. |
|
Im spezifischen Fall von XML und JSON besteht die Option, pretty prints zur verbesserten Übersicht ein- und auszuschalten. Bei anderen Formaten wird dieser Button nicht angezeigt. |
|
Schaltet das Text Wrapping im Editor ein und aus. |
|
Aktiviert Echtzeit-Ergebnisse, wodurch jede Eingabe im Editor zur Ausführung des Prozessors führt. Die Änderungen können dadurch in Echtzeit verfolgt werden. |
|
Blendet die Toolbar im Editor ein und aus. |
Settings
Unter den Settings im Konfigurationsbereich können allgemeine Einstellungen vorgenommen werden, die für alle Prozessoren zur Verfügung stehen. Hierunter fallen sowohl generelle Einstellungen, wie beispielsweise der angezeigte Name eines Prozessors, als auch spezifischere Änderungen, wobei einige dieser Auswahlmöglichkeiten im Folgenden beschrieben sind.
Processor Name
Der angezeigte Name des Prozessors. Sollte im besten Fall genutzt werden, um die Übersichtlichkeit der angelegten Flows zu verbessern.
Penalty Duration
Die Penalty Duration ist ebenfalls eine Property, die für jeden Prozessor verfügbar ist und standardmäßig auf 30 sec
gesetzt ist.
Diese Wartezeit bezieht sich auf ein bestimmtes FlowFile.
Es werden also 30 Sekunden gewartet, bevor ein neuer Versuch unternommen wird, genau dieses FlowFile zu verarbeiten.
Ein Beispiel wäre ein PutFile-Prozessor, der ein FlowFile nicht auf die Festplatte schreiben kann, weil eine Datei mit diesem Namen bereits existiert. Möglicherweise entfernt ein zweiter Prozess parallel diese Files, wodurch das Schreiben nach einer bestimmten Zeit erneut funktioniert.
Yield Duration
Ein Yield kann von einem Prozessor ausgelöst werden.
Yield Duration ist hierbei die Property an jedem Prozessor und ist per Default auf 1 sec
eingestellt.
Dies ist die Zeit, die der Prozessor nach einem internen (vom Prozessor gefangenen) Fehler nicht mehr ausgeführt werden soll.
Ein Beispiel ist ein FTP-Prozessor, der den eingestellten FTP-Server nicht erreichen kann, es allerdings abzusehen ist, dass der Server nach kurzer Zeit wieder erreichbar sein wird (z.B. instabiles Netz).
Neben dem Yield an jedem Prozessor für die Fehler, die dieser Prozessor selbst erwartet und versteht, gibt es zudem einen zentralen Yield.
In einem Fall, in dem durch einen Prozessor eine Exception generiert wird, die nicht erwartet oder behandelt wurde, wird durch NiFi ein zentraler Timer von 30 Sekunden gestartet (einstellbar mit nifi.administrative.yield.duration
), bis der Prozessor erneut ausführbar ist.
Bulletin Level
Diese Option ermöglicht die Konfiguration des Levels, auf dem Meldungen vom Prozessor generiert werden. Die ausgewählten Level können genutzt werden, um Warnmeldungen zu sortieren und dadurch eine verbesserte Übersicht zu ermöglichen.
Concurrent Task
Mit dieser Einstellung kann angepasst werden, wie viele Threads gleichzeitig diesen Prozessor ausführen sollen.
Zusätzlich befindet sich in den zentralen Einstellungen in den Settings der Maximum Timer Driven Thread Count
.
Weitere Informationen hierzu finden Sie im Abschnitt Allgemeine Einstellungen
Scheduling
Prozessoren haben typischerweise ein Scheduling nach Zeitintervall (Scheduling Strategy = Timer driven).
Der Defaultwert ist dabei auf Run Schedule = 0
sec gesetzt.
Die Prozessoren können somit ohne Unterbrechung auf neue FlowFiles warten.
Allerdings existiert zudem ein globales Property in den nifi.properties: nifi.bored.yield.duration=10ms
, wodurch diese Zeit minimal eingeschränkt wird.
Somit wird zwischen den Aufrufen diese festgelegte Zeit gewartet, um das System nicht zu stark auszulasten.
Bei Prozessoren, die keine hohe Aktivität aufweisen (beispielsweise bei Szenarien, in denen die Latenz kein Problem ist), kann der Wert ggf. weiter erhöht werden.
Zusätzlich besteht neben dem timer driven Scheduling die Möglichkeit, die Intervalle mit einem CRON String festzulegen.
Execution
Mit dieser Option wird festgelegt, auf welchen Knoten eines Clusters der Prozessor ausgeführt werden soll. Die Möglichkeit, Cluster zu erstellen, wird in einer späteren Version von IGUASU zur Verfügung gestellt.
Run Duration
Die Run Duration
Property wird nicht von allen Prozessoren unterstützt.
Es dient dazu, dem Prozessor mitzuteilen, dass er einen Batch an FlowFiles zusammen verarbeiten soll.
Dies ist insbesondere sinnvoll bei einer großen Anzahl kleiner FlowFiles, deren Einzelausführung kurz ist.
Der Thread arbeitet für die angegebene Zeit ohne Thread-Wechsel und es wird nur einmal für alle FlowFiles committed.
Je nach Szenario kann das Erhöhen der Run Duration eine signifikante Verbesserung der Performance auslösen.
Number of Retry Attempts
In den Settings der Prozessoren können für vorhandene Verbindungstypen, wie beispielsweise Success oder Failure, Retry-Optionen konfiguriert werden. Mit der Einstellung der Anzahl der Retry-Versuche, kann festgelegt werden, wie oft ein FlowFile von einem Prozessor zur Wiederverarbeitung aufgenommen werden soll. Falls die Wiederholungsversuche ebenfalls nicht erfolgreich abgeschlossen werden können, wird der FlowFile anderweitig weitergeleitet oder fallengelassen.
Back Off Policy
Die Back Off Policy ermöglicht die Konfiguration der Verarbeitung von weiteren Daten, während ein FlowFile sich im Retry befindet.
Hierbei kann zwischen der Option Penalize
, bei der weitere FlowFiles trotz Retry verarbeitet werden können, und Yield
, mit dem keine anderen Daten verarbeitet werden bis alle Retries abgeschlossen sind, gewählt werden.
Maximum Back Off Period
In Kombination mit der gewählten Penalty- und Yield-Duration, wird die Dauer der Ausführung fortlaufend erhöht. Um für diese Dauer ein Limit zu definieren, kann die Maximum Back Off Period Option genutzt werde, um eine Grenze für den Zeitrahmen festzulegen.
Automatically Terminate / Retry Relationships
In diesem Bereich sind alle vorhandenen Beziehungstypen des Prozessors aufgelistet, die zur Verbindung mit anderen Elementen im Diagramm genutzt werden können.
Jede aufgelistete Beziehungsart muss entweder in einer ausgehenden Verbindung zu einem anderen Element oder durch eine automatisierte Terminierung adressiert werden. Zusätzlich besteht für die Beziehungsarten die Möglichkeit, Wiederholungsversuche durch die Retry-Option zu starten.
Data-Panel
Neben der Konfigurationsansicht kann über den Data-Button eine Datenansicht des gewählten Prozessors angezeigt werden.
Falls keine vorherige Ausführung in der Event-Tabelle ausgewählt wurde, sind beide Bereiche des Data Panels leer.
In der oberen Hälfte befindet sich ein Abschnitt, in dem Attribute angezeigt und Funktionen über eine Toolbar aufgerufen werden können. Die untere Hälfte zeigt den Eingang und Ausgang des FlowFiles, welches vom ausgewählten Prozessor verarbeitet wurde.
Data-Toolbar
Ähnlich wie im Config Panel befindet sich in der Datenansicht ebenfalls eine Toolbar, über die unterschiedliche Funktionen aufgerufen werden können:
Ermöglicht, zuvor heruntergeladene FlowFiles zu importieren. |
|
Lädt angezeigte FlowFiles herunter. |
|
Kopiert die angezeigten Daten, um diese z.B. als Input für eine Testausführung zu nutzen. |
|
Fügt kopierte FlowFiles ein. |
|
Entfernt die angezeigten Attribute und angezeigten Input- und Output-Daten. |
|
Ermöglicht, die angezeigten Daten der Ausführung erneut in die Queue einzufügen. Bei der nächsten Ausführung des Prozessors werden diese Daten ebenfalls erneut verarbeitet und als Event-Typ "Replay" in der Event-Tabelle dargestellt. |
Attribute
FlowFiles werden durch übergeordnete Informationen beschrieben, die als Attribute bezeichnet werden.
Während einige Kernattribute von allen FlowFiles geteilt werden, wie z.B. filename
oder path
, können zusätzlich individuelle Attribute angelegt werden.
Zur Erstellung von neuen oder zur Änderung von vorhandenen Attributen können Prozessoren wie der UpdateAttribute-Prozessor genutzt werden. Je nach Prozessor können Attribute unterschiedlich eingesetzt werden, beispielsweise beim InvokeHTTP-Prozessor als HTTP Header oder bei dem QueryRecord-Prozessor um neue Abfragen zu erstellen.
Zusätzlich befindet sich an dieser Stelle eine Toolbar für die dargestellten Attribute des FlowFiles. Dadurch können die vorhandenen Attribute durchsucht werden oder es können neue Attribute angelegt werden, um die Daten für das erneute Testen anzupassen.
Zudem kann zwischen zwei Darstellungsoptionen gewechselt werden, um die Übersicht den individuellen Anforderungen anzupassen.
Input & Output
Im unteren Bereich des Data-Panels wird der Inhalt des verarbeiteten FlowFiles in einem Editor angezeigt.
Die Daten werden hierbei in Input- und Output-Daten unterteilt, wobei letztere nur angezeigt werden, wenn durch den Prozessor eine Änderung an den Daten vorgenommen wurde. Steht ein Prozessor am Anfang einer Ausführung, hat er möglicherweise auch keine Input-Daten.