2017-02-02 9 views
1

ローカルのファイルをローカルで読み込み、cmd行引数を使ってpythonスクリプトに入力しています。しかし、私は今、NiFiにAmazon S3に保存されている他のファイルを読んで、それらを私のpythonスクリプトにフィードしたいと思います。S3からファイルを取り出してPythonスクリプトに入れます

私は自分のファイルを取得するListS3FetchS3プロセッサを使用していると私は正確にS3に保存されたファイルと一致s3.bucketfilenameような変数にアクセスすることができます。

また、MergeContentを使用して、FetchS3プロセッサからの複数のファイルをマージします。私のPythonスクリプトは次のように複数のファイルに取るん:

python myScript.py -f ~/temp/file1.txt -k ~/temp/file2.txt

Pythonスクリプトは、その中のデータを処理するために、ファイルを読み込みます。しかし、どんなに私がfile pathに入れたフォーマットS3と私はいつもこのエラーが出る:ExecuteStreamCommandプロセッサ内

python myScript.py -f ${s3.bucket}/${filename}:このような何かを実行しようとしているときに

Error=[Errno 2] No such file or directory: 'myS3bucket/s3-files/File1.txt'

を。

答えて

2

あなたのファイルは、S3からNiFiで一度コンテンツリポジトリ経由で管理され、デフォルトではファイルシステム上に同じ場所に存在しません。 PutFileを使用してファイルをディスクに書き込んだ後、スクリプトを呼び出すことができます。

関連する問題