请帮助,如何实现?
当AWS S3存储桶中有新文件可用时,将触发lambda流程,并应触发用于验证/处理文件的Pentaho作业。
Pentaho作业应在服务器中执行,而不是在Lambda JVM中执行 (以利用可以使用Pentaho 7.1客户端社区版本的Linux Server的资源。)
注意:我遵循了https://dankeeley.wordpress.com/2017/04/25/serverless-aws-pdi/中的方法,这将在Lambda JVM中执行代码,但是根据我们的要求,我们需要作业在Linux服务器上运行。
Pentaho代码将在服务器的文件存储库中;挂载位置示例:/ mnt / data
Pentaho版本:Pentaho 7.1客户端社区版本。
服务器:Linux
谢谢。
答案 0 :(得分:0)
如果您希望在服务器而不是Lambda JVM中执行Pentaho作业,则根本不需要AWS Lambda。
您可以使用
基本上,您将需要安装HTTP服务器并提供一个HTTP端点,当S3中有新文件可用时可以调用该HTTP端点。 因此,当AWS S3存储桶中有新文件可用时,您可以将通知设置为AWS SNS而不是AWS Lambda,然后作为该SNS主题的订阅者,您可以挂钩在上面的步骤2中配置的HTTP端点。 >
因此,每当调用一个新文件时,SNS都会收到一条通知,该通知会将其推送到HTTP端点,然后您可以读取文件并执行Pentaho Job