【发布时间】:2019-03-14 10:07:07
【问题描述】:
在文件名中使用通配符 (*) 时,我无法将 csv 文件从 SFTP 连接复制到 Blob 存储。
更具体地说,我每天都会在 SFTP 中收到 csv 文件,它们的格式为:“ddMMyyyyxxxxxx.csv”,其中“xxxxxx”是时间戳。更具体地说,我 3 月 13 日的 csv 文件是:“13032019083647.csv”,而 3 月 14 日的:“14032019083556.csv”。显然,每天的时间戳都不同,因此我想独立于日期和文件扩展名之间存在的任何字符串来复制文件。
在我的子集的“连接”选项卡的“文件路径”的“文件”子字段中,我输入:“13032019*.csv”,按照字段旁边的帮助图标的指示:
当我这样做时,我的调试运行失败:
{"errorCode": "2200", "message": "ErrorCode=UserErrorInvalidCopyBehaviorBlobNameNotAllowedWithPreserveOrFlattenHierarchy,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Cannot 从文件夹复制到文件夹时采用复制行为 PreserveHierarchy 单个文件。,Source=Microsoft.DataTransfer.ClientLibrary}
无论我选择哪种类型的复制行为,我都会收到类似的错误。我也尝试过使用 fileFilter 参数(尽管 ADF 警告说使用 fileName 选项可以实现相同的行为),但我最终还是会遇到相同的错误。
为了进一步说明,我附上了 ADF 为此配置生成的代码段:
我还要提一下,当在相应字段中使用完整的文件名时,即值:“13032019083647.csv”,复制工作正常。
任何帮助将不胜感激!
【问题讨论】:
标签: azure ftp sftp azure-data-factory