2016-07-07 7 views
2

Ich verwende NiFi, um mehrere API-Aufrufe zu ketten. Ich würde meinen Flow konfigurierbarer machen, indem ich die API-Schlüssel/Endpunkte in einer externen Konfigurationsdatei (zum Beispiel JSON oder sogar der Datei nifi.properties) setze.Konfigurieren Sie einen NiFi-Prozessor mit einer externen Datei

Wie kann ich die Informationen in dieser Konfigurationsdatei in den Eigenschaften meiner Prozessoren verwenden?

Vielen Dank im Voraus!

Antwort

5

Momentan ist dies am einfachsten, indem Sie Werte in der bootstrap.conf setzen, die dann über die NiFi-Ausdruckssprache verfügbar sind. Zum Beispiel, wenn Sie ein neues Java arg wie geschaffen:

java.arg.15=-DmyProperty=myValue 

Dann in Ihrem Prozessor, müssen Sie Ihre Eigenschaften Ausdruckssprache unterstützen. Dies wird auf den Eigenschaftendeskriptor Builder getan:

.expressionLanguageSupported(true) 

Dann aus dem UI Sie den Wert dieser Eigenschaft auf $ festgelegt würden {myProperty}

In einer zukünftigen Version es wird eine neue Fähigkeit sein, Machen Sie das ein wenig einfacher, wo Sie eine externe Eigenschaftendatei haben können, die von der Ausdrucksprache geladen und zugänglich ist, so dass Sie bootstrap.conf nicht bearbeiten müssen, aber im Moment ist dies der Ansatz.

+1

Vielen Dank für die Erklärung! Es wird den Job im Moment erledigen, ich werde dieses Feature in zukünftigen Releases im Auge behalten! – WSH