问题描述
我有一个带压缩文件夹,其中有几个子文件夹,每个子文件夹中都有很多文件。有些文件是二进制文件,有些是csv,有些是纯文本。我的要求是将zip文件夹直接复制到Microsoft Azure云中,而无需在内部FTP服务器上将其解压缩,就可以了。而且此过程不是一次,而是每当有新的zip文件进入FTP服务器时就定期复制。
解决方法
请参考本教程:Copy data from FTP server by using Azure Data Factory
例如,我的压缩文件包含子文件夹,而每个子文件夹具有不同的文件:
使用二进制格式作为源数据集,选择压缩类型:ZipDeflate:
源数据集:
这可以实现压缩的文件夹副本。
出于您的目的,您希望在将新的zip文件添加到FTP服务器时触发管道。仅对于Data Factory,事件触发器不支持FTP服务器。我们做不到。
我认为您可以使用Logic app至FTP trigger来实现:在添加或修改文件(仅限属性)触发器时。
将新添加的zip文件名作为Data Factor管道参数传递,然后运行管道。