Azure Data Factory V2-无法将通配符文件名与动态内容文件路径组合。是否有databricks(ADB)解决方案或其他ADF解决方案?

Azure Data Factory V2-无法将通配符文件名与动态内容文件路径组合。是否有databricks(ADB)解决方案或其他ADF解决方案?,azure,azure-data-factory-2,azure-databricks,Azure,Azure Data Factory 2,Azure Databricks,我目前有一个上游进程,将几乎随机数量的.zip文件转储到Azure Data Lake存储中,每个文件夹的名称类似于files/PROCESSING/2019/04/19 我创建了一个Azure Data Factory V2(ADF)复制数据进程,以动态获取“今日”文件路径中的任何文件,但在组合动态内容文件路径和通配符文件名时存在支持问题,如下所示 ADF中是否有解决此问题的方法 谢谢 以下是我的链接服务的带有通配符文件名的动态文件路径: FILES/PROCESSING/@formatDat

我目前有一个上游进程,将几乎随机数量的.zip文件转储到Azure Data Lake存储中,每个文件夹的名称类似于files/PROCESSING/2019/04/19

我创建了一个Azure Data Factory V2(ADF)复制数据进程,以动态获取“今日”文件路径中的任何文件,但在组合动态内容文件路径和通配符文件名时存在支持问题,如下所示

ADF中是否有解决此问题的方法

谢谢

以下是我的链接服务的带有通配符文件名的动态文件路径:

FILES/PROCESSING/@formatDateTime(utcnow(),'yyyy')/@formatDateTime(utcnow(),'mm')/@formatDateTime(utcnow(),'dd')
通配符是:

/*.zip
我希望进程能够运行,但会收到以下错误消息:

Activity CopyNewFiles failed: Failure happened on 'Source' side. ErrorCode=UserErrorFileNotFound,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Cannot find the 'Azure Data Lake Store' file. . Service request id: c0266e28-d841-40b7-b177-e67d5e5388a1 Response details: {"RemoteException":{"exception":"FileNotFoundException","message":"File/Folder does not exist: /FILES/PROCESSING/2019/04/30 [c0266e28-d841-40b7-b177-e67d5e5388a1][2019-04-30T12:08:55.0353825-07:00]","javaClassName":"java.io.FileNotFoundException"}},Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Net.WebException,Message=The remote server returned an error: (404) Not Found.,Source=System,'

只有文件路径不存在。如果我直接在没有动态内容的情况下运行指向文件的手动过程,它运行得很好


我查看了ADF文档,试图确定这是否是一个已知的错误,但我没有看到任何符合要求的错误。

这应该适用于您的路径:

@Concat('FILES/PROCESSING/',utcnow('yyyy/MM/dd'))
和文件位中的
*.zip

一开始只有一个@

您可以将函数嵌入到公式中,就像您所拥有的那样,但您需要在每个管道位周围放置大括号,如下图所示,然后直接将值替换到代码中,而不使用concat:

FILES/PROCESSING/@{formatDateTime(utcnow(),'yyyy')}/@{formatDateTime(utcnow(),'MM')}/@{formatDateTime(utcnow(),'dd')}/*.zip

还要注意大写字母MM表示月份,MM表示分钟:)

Hi Trevor。您的流程应该简单有效。如果向源数据集添加参数,则可以多次使用它来传递各种参数。您发出的错误消息很清楚:文件夹或文件不存在。再检查一遍。也许你把一条斜线划得太多了?你能分享你的ADF代码吗?这可能会有帮助。