我正在使用 Azure 数据工厂,并且正在寻找“查找”事件的补充。基本上我希望能够将一行写入文件。
这是设置:
使用查找事件从 blob 存储中的 CSV 文件中读取 将其输出连接到 For Each
在 For Each 中,获取每条记录(Lookup 事件读取的文件中的一行)并将其写入一个不同的文件,动态命名。 关于如何实现这一点的任何线索?
数据流可能会更好,但作为一个快速的技巧,您可以执行以下操作以在管道中逐行读取文本文件:
定义源数据集以将一行输出为单列。通常我会为此使用“NoDelimiter”,但 Lookup 不支持。作为一种解决方法,使用不正确的列分隔符(如 | 或\t 用于 CSV 文件)定义它。您还应该转到架构选项卡,并清除架构。这将在名为“Prop_0”的输出中生成一列。 在 foreach 事件中,将 Items 设置为 Lookup 的“output.value”并选中“Sequential”。
在 foreach 中,您可以使用 item().Prop_0 来获取该行的文本:
据我所知,管道不直接支持创建 blob [因此我在上面建议研究数据流]。但是,在 Logic Apps 中执行此操作非常简单。如果我要解决这个问题,我会创建一个带有 HTTP Request Received 触发器的逻辑应用程序,然后使用 Web 事件从 ADF 调用它,并在有效负载中发送文本行和动态文件名。