2017-12-03 1 views
0

Hallo, Ich benutze GetSNMP-Prozessor, um ein Radio anzuschließen. Laut der NiFi-Dokumentation wird diese Information in Fließdateiattribute geschrieben, um Dateiinhalte nicht fließen zu lassen. Also habe ich den AttributesToJSON Prozessor benutzt. Danach habe ich den PutFile-Prozessor verwendet, um diese Attribute in eine Datei zu schreiben. Dateien werden generiert, aber dort sind keine Attribute geschrieben. In jede Datei wird nur "{}" geschrieben. Mit dem LogAttribute-Prozessor kann ich alle Attribute in der Protokolldatei sehen, aber ich möchte sie in einer separaten Datei haben. Bitte führen.Attribute in eine Datei in Apache NiFi schreiben

Danke,

Antwort

1

SGaur,

Wenn Anströmung Dateiinhalt vor putFile Prozessor leer ist, dann wird es schreibt leeren Inhalt in lokalem Verzeichnis.

So müssen Sie Attribute in Flowfile Inhalt mit ReplaceText schreiben.

Für ein Beispiel, mit Sie diese Attribute wie

${filename}-->input.1, ${input.content.1}-->content.1, ${input.content.2}-->content.2

vor putFile kommt.

Nun müssen Sie wie unter diese Attribute in Flow-Datei Inhalte schreiben,

In ReplaceText, Just Neuwert erwähnen so sein. ->

${filename},${input.content.1},${input.content.2} 

Es wird Inhalt ersetzen wie unten .,

input.1,content.1,content.2 

Jetzt wird es in lokale Datei mit put Dateiprozessor schreiben.

Ich hoffe, dies ist hilfreich für Sie.

+0

Hallo Mahendra, Vielen Dank für diese Hilfe. Es hat wirklich funktioniert. – SGaur

+0

Fühlen Sie sich frei zu upvot/akzeptieren Sie dies als Antwort. Es kann hilfreich für jemanden sein. –

+0

Hallo Mahendra, eine weitere Abfrage. Können wir die Attribute mit regulärem Ausdruck in "Ersatzwert" zugreifen? Ich bekomme alle Attribute mit dem Präfix "snmp $" von einem Radio mit SNMPGet. Anstatt also jedes Attribut in den "ReplaceText" -Prozessor zu setzen, kann ich auf alle zugreifen, indem ich etwas wie $ {'snmp $ *'} verwende. Bitte führen. – SGaur