Amazon s3 从S3获取文件并将其输入python脚本
我有一个本地NiFi流,它在本地读取文件,并通过cmd行参数将其输入python脚本。但是,我现在希望NiFi读取存储在Amazon s3 从S3获取文件并将其输入python脚本,amazon-s3,apache-nifi,Amazon S3,Apache Nifi,我有一个本地NiFi流,它在本地读取文件,并通过cmd行参数将其输入python脚本。但是,我现在希望NiFi读取存储在AmazonS3中的其他文件,并将它们输入到我的python脚本中 我使用了ListS3和FetchS3处理器来获取我的文件,并且我可以访问s3.bucket和filename等变量,这些变量与s3中存储的文件完全匹配 我还使用MergeContent合并来自FetchS3处理器的多个文件。我的python脚本会接收多个文件,如下所示: python myScript.py-f
AmazonS3
中的其他文件,并将它们输入到我的python脚本中
我使用了ListS3
和FetchS3
处理器来获取我的文件,并且我可以访问s3.bucket
和filename
等变量,这些变量与s3
中存储的文件完全匹配
我还使用MergeContent
合并来自FetchS3
处理器的多个文件。我的python脚本会接收多个文件,如下所示:
python myScript.py-f~/temp/file1.txt-k~/temp/file2.txt
python脚本读取文件以处理其中的数据。但是,使用S3
时,无论我在文件路径中使用哪种格式,我总是会遇到以下错误:
Error=[Errno 2]没有这样的文件或目录:“myS3bucket/s3 files/File1.txt”
在尝试运行类似以下内容时:
python myScript.py-f${s3.bucket}/${filename}
在ExecuteStreamCommand
处理器内。您的文件从s3进入NiFi后,通过内容存储库进行管理,默认情况下不存在于文件系统的相同位置。您可以使用PutFile将文件写入磁盘,然后调用脚本