从S3获取文件并将其提供给python脚本

时间:2017-02-02 18:47:18

标签: amazon-s3 apache-nifi

我有一个本地NiFi流程,它在本地读取文件并通过cmd行参数将其提供给python脚本。但是,我现在希望NiFi读取存储在Amazon S3中的其他文件,并将它们输入我的python脚本。

我使用ListS3FetchS3处理器来获取文件,并且我可以访问s3.bucketfilename等与{{1}中存储的文件完全匹配的变量}}

我还使用S3合并来自MergeContent处理器的多个文件。我的python脚本确实包含多个这样的文件:

FetchS3

python脚本读取文件以处理其中的数据。但是,对于python myScript.py -f ~/temp/file1.txt -k ~/temp/file2.txt而言,无论我在S3中添加哪种格式,我都会遇到此错误:

file path

尝试运行这样的事情时:

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

python myScript.py -f ${s3.bucket}/${filename}

1 个答案:

答案 0 :(得分:3)

您的文件一旦在S3中的NiFi中,就会通过内容存储库进行管理,并且默认情况下不会存在于相同位置的文件系统中。您可以使用PutFile将文件写入磁盘,然后调用您的脚本。

相关问题