Ich habe einen lokalen NiFi-Fluss, der Dateien lokal liest und sie über Kommandozeilenargumente in ein Python-Skript eingibt. Nun möchte ich aber, dass NiFi andere in Amazon S3
gespeicherte Dateien liest und sie in mein Python-Skript einfügt.Datei von S3 holen und in ein Python-Skript einspeisen
Ich habe ListS3
und FetchS3
Prozessoren verwendet, um meine Dateien zu bekommen, und ich habe Zugriff auf Variablen wie s3.bucket
und filename
, die genau die Dateien in S3
gespeichert entsprechen.
Ich verwende auch MergeContent
, um mehrere Dateien zusammenzuführen, die vom Prozessor FetchS3
kommen. Mein Python-Skript in mehreren Dateien wie dies dauert:
python myScript.py -f ~/temp/file1.txt -k ~/temp/file2.txt
Der Python-Skript liest die Dateien Daten in ihnen zu verarbeiten. Aber mit S3
egal welches Format, das ich in der file path
habe ich bekomme immer diese Fehlermeldung:
Error=[Errno 2] No such file or directory: 'myS3bucket/s3-files/File1.txt'
bei dem Versuch, etwas zu laufen:
python myScript.py -f ${s3.bucket}/${filename}
innerhalb des ExecuteStreamCommand
Prozessor.