繁体   English   中英

通过 Azure 数据工厂从 ftp 站点获取 zip 和非压缩文件 - 解压

[英]Getting zip and non-zipped files from ftp site via Azure Data Factory - unzipping

我成功地通过 Azure 数据工厂从 ftp 站点获取文件并在此过程中解压缩它们。 我正在为 ZipDeflate 设置源数据集。 但是,现在我有一个类似的管道,我必须从一个 ftp 站点获取文件,其中混合了 .zip 文件和其他文件类型,如 .csv 和 .xls。

当我尝试对该 Copy 活动执行 ZipDeflate 时,它​​想要“压缩”所有文件(不仅仅是 .zip)。 我有点期待。 我在想,唯一想解压缩 .zip 文件而不解压缩 .xls 和 .csv 文件的唯一方法是在单独的复制活动中执行它们(一个用于需要解压缩的文件,另一个用于所有其他文件)......这是对还是有另一种方法可以在一个活动中完成所有工作?

谢谢!! J

嗯,是。 您需要有两个复制活动。 但在那种情况下,我猜你会有两个具有不同文件过滤器的源数据集。 (一个用于 .zip,第二个用于所有其他)我想到的是使用元数据活动来获取文件名。 之后,在IF条件下检查文件名是否包含“.zip”,您继续进行解压活动,如果不解压则继续活动而不解压。 这样您就可以只使用一个数据集来收集所有文件,而不是单独使用。 希望这可以工作并帮助你。 :)

https://docs.microsoft.com/en-us/azure/data-factory/control-flow-get-metadata-activity

目前,您可以使用 GetMetadata+Filter 活动按类型拆分文件并为它们创建单独的复制活动。 或者您可以参数化数据集,并根据文件的扩展名传递 Zip 方法,如“ZipDeflate”或“None”。

如果我们不仅谈论本机机制,您还可以创建自定义 .Net 活动并创建您想要的任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM