【问题标题】:Datastage- Loop throught the file to read email ID and send emailDatastage- 遍历文件以读取电子邮件 ID 并发送电子邮件
【发布时间】:2023-01-15 09:28:58
【问题描述】:

我必须阅读输入文件以获取员工的电子邮件 ID 并向每个员工发送电子邮件。 如何使用 Datastage 作业执行此操作? 文件看起来像这样, PERSON_ID|FName|LName|Email_ID

【问题讨论】:

    标签: datastage


    【解决方案1】:

    DataStage 本身提供了一个仅在序列级别可用的通知阶段。 由于您的信息位于作业的数据流中,因此您可以使用 Wrapped Stage 以便从作业中发送邮件。 包装阶段允许为流中的每一行调用操作系统命令。 Sendmail 等可以用来发送你想要的邮件。

    我最近实施了这个。包装阶段很棘手,所以我建议以一种非常简单的方式使用它——用它来调用 bash(或任何其他 shell)并预先准备邮件命令,然后简单地将它发送到那个阶段。

    【讨论】:

    • 包装阶段选项看起来不错但有点复杂。我选择编写一个快速脚本来循环读取文件数据和发送电子邮件。
    【解决方案2】:

    还有一些选择。

    首先是像 Michael 提到的那样使用 Wrapped Stage。另一种方法是编写一个Parallel Routine 用于一个普通的并联transformer,这很相似。


    每行发送电子邮件的最简单方法我知道的正在使用服务器例程在变压器中。

    缺点是服务器例程已被弃用,我们还不确定 它们迁移到未来版本的 DataStage (CP4D) 的能力如何。 这样做时应该考虑到这一点。

    在每个项目中,您应该有一个文件夹Routines/Built-In/Utilities,其中包含服务器例程DSSendMailAttachmentTesterDSSendMailTester。这些最初是为了在例程编辑器中使用,只是为了测试后端是否真的能够发送邮件。

    但您也可以在 Transformer 中使用它们,只要是 BASIC Transformer.这意味着您可以使用所有旧学校的东西(这可能不是您想要的)编写服务器作业,或者您可以在并行作业中使用 BASIC Transformer(点击有关如何启用它的链接。)它允许访问 BASIC 转换和函数。

    我建议复制提到的服务器例程来制作您自己的自定义例程,并可能根据您的需要对其进行修改。

    【讨论】:

      猜你喜欢
      • 2021-03-04
      • 1970-01-01
      • 1970-01-01
      • 2018-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多