首页 > 解决方案 > Lambda 触发的 Pentaho di 工作

问题描述

请帮助,如何实现?

要求:

当 AWS S3 存储桶中有新文件可用时,将触发 lambda 进程,并应触发用于验证/处理文件的 Pentaho 作业。

Pentaho Job 应该在服务器而不是 Lambda JVM 中执行(以利用提供 Pentaho 7.1 客户端社区版本的 Linux 服务器的资源。)


注意:我遵循https://dankeeley.wordpress.com/2017/04/25/serverless-aws-pdi/中的方法,这会在 Lambda JVM 中执行代码,但根据我们的要求,我们需要在linux服务器。

基础设施细节:

Pentaho 代码将在服务器的文件 repo 中;挂载位置示例:/mnt/data

Pentaho 版本:Pentaho 7.1 Client 社区版。

服务器:Linux

提前致谢。

标签: amazon-web-servicesaws-lambdapentahopentaho-data-integration

解决方案


如果您希望 Pentaho 作业在服务器而不是 Lambda JVM 中执行,则根本不需要 AWS Lambda。

相反,您可以使用

  1. AWS SNS
  2. 在您的 Linux 服务器上配置一个 HTTP 端点,然后订阅 SNS 主题

基本上,您需要安装一个 HTTP 服务器并提供一个 HTTP 端点,当 S3 中有新文件时可以调用该端点。因此,当 AWS S3 存储桶中有新文件可用时,您可以将通知设置为 AWS SNS 而不是 AWS Lambda,然后作为此 SNS 主题的订阅者,您可以挂钩您在上面的步骤 2 中预置的 HTTP 终端节点。

因此,每当调用一个新文件时,都会向 SNS 发送通知,然后 SNS 会将其推送到 HTTP 端点,然后您可以读取该文件并执行您的 Pentaho Job


推荐阅读