【问题标题】:How to merge two flow files in one如何将两个流文件合并为一个
【发布时间】:2018-07-30 02:59:39
【问题描述】:

我需要设计一个 Nifi 结构,它接收两个包含以下内容的流文件:

  1. HTML 模板。
  2. 将替代的信息。 输出是:可以使用的 HTML

有什么想法吗?

编辑:这里的想法是准备一个邮件营销活动。为此,我需要将所有元数据(在属性中)和 html(在内容中)发送到我们的提供商 API。

我使用 3 个文件来构建广告系列:

  1. 带有可变字段(名字、电子邮件地址、退订链接...)的 CSV 文件
  2. 另一个包含元数据的 CSV(发件人姓名、发件人地址、要使用的模板...)
  3. HTML 模板(其路径与元数据一起提供)

到目前为止,我有一个能够获取所有 3 个文件的结构,将前 2 个文件集成到代表要发送的每封电子邮件的一系列流文件中。

但是我在最后一步遇到了麻烦,我认为应该将电子邮件流文件与模板副本合并(因此我不必重复获取模板)并将结果输入ExecuteScript 执行电子邮件的实际呈现。

希望这很清楚。

【问题讨论】:

  • 你有做过什么吗?把更多细节放在
  • 添加了更多细节。
  • 元数据和变量之间有联系吗? (查找),或者您是否已有名字、电子邮件地址、退订链接.. 值?
  • 没有连接Up_one。
  • 所有的模板都一样吗?还是取决于活动或电子邮件、程序等?

标签: apache-nifi


【解决方案1】:

这样的?

  1. 阅读您要替换到 NiFi 系统中的信息。
  2. 提取信息以替换 FlowFile 属性
  3. 将 HTML 模板放入 FlowFile 正文中
  4. 使用处理器将 HTML 模板的重要部分替换为您的 FlowFile 属性

您的问题中的更多细节将不胜感激!

【讨论】:

  • 这正是我想要做的。但是我无法弄清楚第 3 步。
  • @ViniciusZolinDeJesus 您是如何准备 HTML 模板的?你是把它存储在一个文件中,还是想让它在 NiFi 中焕然一新?
  • 我将它存储在一个文件中,在生产中,该文件将存储在 S3
  • @ViniciusZolinDeJesus,仍然不清楚第 3 步的问题/问题...如果您在 S3 上的模板只使用 FetchS3Object。您还可以将模板存储在分布式缓存中或作为本地文件,以避免为每封电子邮件获取模板。
  • 这里的根本问题就是这样。如何避免为每封电子邮件重新获取模板。
猜你喜欢
  • 2020-03-27
  • 2022-12-08
  • 1970-01-01
  • 1970-01-01
  • 2019-04-16
  • 2020-03-20
  • 1970-01-01
  • 2011-10-07
  • 2015-02-06
相关资源
最近更新 更多