gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 01:36:07 25 4
gpt4 key购买 nike

我正在处理一个用例,我想将加载到 Azure 数据库中的所有文件夹名称加载到不同的“控制”表中,但在正确使用 GetMetadata 事件时遇到问题。

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

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

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

我使用指向已将文件夹加载到其中的 blob 存储的“GetMetadata”事件创建了一个 ADF 管道。

enter image description here

但是,当我运行此管道时,我只会获得前三个文件夹名称:2019、2018、2017。

enter image description here

是否可以不仅获取顶级文件夹名称,而且可以一直向下到日级别?因此,输出不是“2019”,而是“2019/12/26”,然后下一个将是“2019/12/27”加上 2017 年和 2018 年的所有月份和日期。

如果有人遇到此问题,我们将不胜感激。

谢谢

最佳答案

根据 Get-Metadata Activity 文档中的声明,childItems 仅返回特定路径中的元素,不会包含子文件夹中的项目。

enter image description here

我想你必须使用 ForEach Activity逐层循环 childItems 数组以展平所有结构。同时,使用Set Variable Activity连接完整的文件夹路径。然后使用 IfCondition Activity ,当您检测到元素类型是 file,而不是 folder 时,您可以调用您在问题中提到的 SP。

关于azure-data-factory - GetMetadata 获取 Azure 数据工厂中的完整文件目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59505781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com