Azure data factory GetMetadata以获取Azure数据工厂中的完整文件目录

Azure data factory GetMetadata以获取Azure数据工厂中的完整文件目录,azure-data-factory,azure-data-factory-2,Azure Data Factory,Azure Data Factory 2,我正在处理一个用例,其中我希望将加载到Azure数据库中的所有文件夹名称加载到另一个“控制”表中,但在正确使用GetMetadata活动时遇到问题 此用例的目的是跳过所有旧文件夹(已加载),只关注新文件夹,获取“.gz”文件并将其加载到Azure数据库中。哦,这是一个很高的级别,我想我应该使用GetMetadata活动将所有文件夹名称发送到存储过程。然后,该存储过程将加载状态为“1”(表示成功)的文件夹名称 然后,该表将在单独的管道中使用,该管道用于将文件加载到数据库中。我会使用一个查找活动来与

我正在处理一个用例,其中我希望将加载到Azure数据库中的所有文件夹名称加载到另一个“控制”表中,但在正确使用GetMetadata活动时遇到问题

此用例的目的是跳过所有旧文件夹(已加载),只关注新文件夹,获取“.gz”文件并将其加载到Azure数据库中。哦,这是一个很高的级别,我想我应该使用GetMetadata活动将所有文件夹名称发送到存储过程。然后,该存储过程将加载状态为“1”(表示成功)的文件夹名称

然后,该表将在单独的管道中使用,该管道用于将文件加载到数据库中。我会使用一个查找活动来与已经加载的文件夹进行比较,如果其中一个不匹配,那么就是要从中获取文件的文件夹(源是一个S3 bucket)

文件夹结构以YYYY/MM/DD格式嵌套(例如:2019/12/27,每天创建一个新文件夹,并在其中放置一个“gz”文件)

我使用“GetMetadata”活动创建了一个ADF管道,该活动指向已加载文件夹的blob存储

然而,当我运行这个管道时,我只得到前三个文件夹名称:2019、2018、2017

是否不仅可以获取顶级文件夹名称,还可以一直向下到日级?因此,产出不是“2019”,而是“2019/12/26”,然后是“2019/12/27”,再加上2017年和2018年的所有月份和天数

如果有人面临这一问题,我们将非常感谢任何见解


谢谢

根据Get Metadata活动文档中的语句,
childItems
仅返回特定路径中的元素,不包括子文件夹中的项目


我认为您必须使用逐层循环
childItems
数组来展平所有结构。同时,使用以显示完整的文件夹路径。然后使用,当您检测到元素类型是
文件
,而不是
文件夹
,您可以调用您在问题中提到的SP

在这种情况下,如果您有一个已定义且不更改的文件夹结构,也可以使用通配符占位符

用作目录:storageroot/*/*/*/filename

例如,我使用csvFiles/*/*/*/*/*/*/*/*.csv 要获取具有此结构的所有文件,请执行以下操作:

CSV文件/主题/子主题/国家/年/月/日

然后您将获得此文件夹结构中的所有文件