Azure数据工厂可以写入FTP

时间:2016-07-22 08:47:46

标签: azure azure-data-factory

我想将管道输出写入FTP文件夹。 ADF似乎支持本地文件,但不支持FTP文件夹。

如何以文本格式将输出写入FTP文件夹?

4 个答案:

答案 0 :(得分:1)

不幸的是,FTP服务器目前不是ADF支持的数据存储。因此,没有OOTB方式与FTP服务器进行交互以进行读取或写入。

但是,您可以使用自定义活动使其成为可能,但需要一些自定义开发才能实现此目的。 MS的一位云解决方案架构师组成了一篇博客文章,讲述了他如何为他的一个客户做到这一点。请看一下以下内容:

https://blogs.msdn.microsoft.com/cloud_solution_architect/2016/07/02/creating-ftp-data-movement-activity-for-azure-data-factory-pipeline/

我希望这会有所帮助。

答案 1 :(得分:0)

考虑到这一点后,您可以通过将输出写入Azure Blob存储帐户然后

以轻微复杂的方式实现您想要的功能。

1)手动:下载并将文件推送到" FTP"来自Blob存储帐户的站点或 2)自动:使用Azure CLI在本地提取文件,然后将其推送到" FTP"具有适当的批处理或shell脚本的站点

答案 2 :(得分:0)

作为定制活动的轻量级方法(当然是繁重工作的更好选择)。

您可能希望考虑使用azure函数写入ftp(注意使用消费计划时有暂停 - 而不是在其他计划中,因此它将取决于文件的大小)。

https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-storage-blob-triggered-function

您可以指示数据工厂写入中间blob存储。 并且在azure函数中使用blob存储触发器,一旦它们出现在blob存储中,就会立即上传。

或者,写入blob存储。然后在逻辑应用程序中使用计时器从blob存储上传到ftp。逻辑应用隐藏了友好外部背后的巨大力量。

答案 3 :(得分:0)

您可以编写一个Logic应用程序,该应用程序将从Azure存储中提取文件并将其发送到FTP站点。然后使用Data Factory Web Activity调用Logic App。   确保您在Logic应用程序中进行了一些错误处理,如果ftp失败,则返回400。