首页 > 解决方案 > Azure 数据工厂通配符

问题描述

我有一个 sftp 位置,通常放置 .csv 文件,我们使用 ADF 复制活动处理或提取那里的文件。当没有文件存在并且我们给出确切的文件名并运行管道时,它会按预期失败。但是,当我们给出一个通配符(例如 abc*.csv)并在 sftp 位置中不存在文件的情况下运行管道时,复制活动会通过,尽管写入的行数为 0。谁能告诉我为什么会发生这种情况。我们正在使用 Adf v2。

标签: azuresftpazure-data-factory-2

解决方案


这个问题的答案是微妙的。这是区别:

当您提供准确的文件名,但该文件不存在时,数据工厂会尝试获取它,但请求会返回“找不到文件”错误。这被传递给活动,并被识别为失败。

当您提供通配符时,这实际上是在询问“给我一份符合此模式的文件列表,然后复制它们中的每一个”。当没有与该模式匹配的文件时,结果是一个空列表。由于列表长度为 0,因此不会发出获取任何文件的请求,这意味着不会出现“找不到文件”错误。

这是我从数据工厂的经验中得出的结论。我不是开发团队的成员。


推荐阅读