如何在Azure Data Factory SFTP中使用通配符文件名?

问题描述 投票:0回答:1

我正在使用Data Factory V2,并创建了一个位于第三方SFTP中的数据集。 SFTP使用SSH密钥和密码。我成功使用密钥和密码创建了与SFTP的连接。现在,我可以在Data Factory中浏览SFTP,查看该服务上的唯一文件夹,并查看该文件夹中的所有TSV文件。

自然,Azure数据工厂要求输入要导入的文件的位置。我使用“浏览”选项来选择所需的文件夹,而不是文件。我想对文件使用通配符。

[当我选择在文件夹后执行* .tsv选项时,在预览数据时出现错误。当我返回并指定文件名时,可以预览数据。因此,我知道如果不使用通配符,Azure可以连接,读取和预览数据。

查看Azure的文档,我看到他们建议不要在数据集属性中指定文件夹或通配符。我跳过了这一点,然后直接转到新管道。使用复制,我将复制活动设置为使用SFTP数据集,指定通配符文件夹名称“ MyFolder *”和通配符文件名(如文档中的“ * .tsv”)。

发布错误,我说我需要在数据集中指定文件夹和通配符。因此,我返回到数据集,指定文件夹并将* .tsv指定为通配符。

在所有情况下:这是预览管道或数据集中的数据时收到的错误。

找不到SFTP路径'/MyFolder/*.tsv'。请检查路径是否存在。如果您配置的路径不是以“ /”开头,请注意,它是给定用户默认文件夹“”下的相对路径。没有这样的文件 。

为什么这么复杂?我在这里想念什么?数据集可以连接并查看单个文件,如下所示:

/ MyFolder / MyFile_20200104.tsv

但是将其设置为失败,但失败

/ MyFolder / *。tsv

enter image description here

azure azure-data-factory-2
1个回答
0
投票

我经常使用复制从SFTP源中提取数据。您在问题中提到,文档说不要在DataSet中指定通配符,但是您的示例只是这样做。相反,您应该在“复制活动源”设置中指定它们。

在我的实现中,数据集在目录和文件框中没有参数,也没有指定值:enter image description here

在“复制”活动的“源”选项卡中,我指定了通配符值。这些可以是文本,参数,变量或表达式。我在下面重点介绍了我最常使用的选项。enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.