如何使用 python 脚本更改 Pentaho 中的数据库连接变量?

How to use a python script to change db connection variables in Pentaho?

提问人:mitsire 提问时间:5/17/2023 更新时间:5/17/2023 访问量:77

问:

在将转换从一个环境复制到另一个环境时,我试图尽量减少工作量。目前,在从 dev 环境切换到 uat 环境时,我们必须手动更改每个 db 连接变量。我正在尝试编写一个 python 脚本,该脚本将根据环境更改这些变量的值。

现在我有一个 python 变量,它可以保存环境名称的值,例如“dev”或“uat”或“prod”。根据此变量的值,python 可以更改 db 变量的值。用户只需更改 python 脚本上的环境变量。有没有办法优化这一点。或者,假设在某个时候我们更改了连接详细信息,在这种情况下,我们必须更改每个转换的脚本。有没有办法在 Pentaho 上拥有一个包含连接值的基本 python 脚本和另一个包含用户可以更改的环境变量的脚本。

python pentaho pentaho-spoon pentaho-data-integration PDI

评论

0赞 Ana GH 5/19/2023
如果您使用的是 PDI 社区版,并且对 Pentaho 技术投入不大,那么可能值得使用 apache-hop 而不是 PDI。PDI 的社区版开发得并不多,旧的 PDI 开发人员从 PDI 8.2 版本中分离出来,开始更新旧技术,并添加项目和环境等概念作为跳跃的基础。有一个工具可以将 pentaho 转换/工作流迁移到跃点管道/工作流,因此您的大部分旧工作可以自动转换为新工具(不是所有步骤,而是大量步骤)。
0赞 Ana GH 5/19/2023
您也可以尝试为向 PDI 添加环境概念而创建的插件是否在您的版本中仍然有效:github.com/mattcasters/kettle-environment,查找有关如何使用它的博客文章。或者,您可以使用 kettle.properties 文件,而不是安装新插件。您可以在其中为安装添加变量,并使用不同的 kettle.properties 文件来切换环境。
0赞 Bert-Jan Stroop 5/22/2023
我们做的另一种选择是从加密文件或数据库加载所有数据库配置(主机、端口、用户等),该文件或数据库位于环境本身的固定相对位置。每当我们推送代码时,它只会从本地环境文件/数据库中获取数据库连接,因此对于不同的环境没有问题。

答: 暂无答案