如何从作业中读取(下载/结果)文件名

How to read (downloaded / result) filename from job

在 Pentaho 9.1 作业中,使用“从 SFTP 获取文件”步骤,我下载了一个 CSV 文件。我想在“邮件”步骤的电子邮件主题行中使用下载的文件名。

我曾尝试将其称为变量,但它实际上并不是一个变量,而是一个“结果”值。例如,如果我在下面尝试过...

下载的文件名=“somefile.csv”

“主题”的“邮件”步骤中的语法 =“文件处理完成:${short_filename}”

当电子邮件发送的主题恰好是“文件处理完成:${short_filename}”时,我需要它是“文件处理完成:somefile.csv”

我们可以从结果中获取文件信息。但不幸的是,这一步仅在改造中可用。因此,我们需要帮助一个转换来读取文件名。我已经为你准备了一个SOLUTION。您需要为 SFTP 和 MAIL 配置提供正确的信息。也请 运行 作业“getFromSFTP”。

  1. [getFromSFTP.kjb]这里我从sftp下载csv文件,发送文件信息给transformation
  2. [getFileName.ktr]这里读取文件信息,将文件名发送到另一个作业进行邮件发送。
  3. [sendMail.kjb] 此作业仅用于发送文件名 = ${filename1}
  4. 的邮件