首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用创建基于日期的文件夹(YYYY)?

使用创建基于日期的文件夹(YYYY)?
EN

Stack Overflow用户
提问于 2022-11-23 11:16:05
回答 1查看 72关注 0票数 0

我的数据湖文件夹中没有几组月度文件,我希望将它们复制到数据湖中的另一个文件夹中,在将数据复制到目标数据湖文件夹时,我希望创建一个YYYY格式的文件夹(Ex: 2022-11),并且我希望复制该文件夹中的文件。

在下个月,我将再次获得新的数据集,并希望将它们复制到(2022-12)文件夹,等等。

我想每个月运行管道,因为我们将获得每月负载的数据。

EN

回答 1

Stack Overflow用户

发布于 2022-11-23 14:38:17

由于您希望每个月只使用ADF复制新文件,这可以通过两种方式完成。

首先将使用存储事件触发器.

演示:

我已经为新的文件名创建了管道参数,如下所示。

接下来,创建一个存储事件触发器,并为管道参数提供@triggerBody().fileName

参数:

在这里,我使用了两个参数来更好地理解。如果需要,也可以使用单个管道参数来完成。

带有dataset参数用于文件名的源数据集:

带有dataset参数的Sink数据集用于文件夹名和文件名:

副本来源:

拷贝接收器:

文件夹名的表达式:@formatDateTime(utcnow(),'yyyy-MM')

当我上传到源文件夹时,文件成功复制到所需的文件夹。

因此,每次上传到您的文件夹中的新文件都会被复制到所需的文件夹中。如果不希望文件在复制后存在,请使用delete活动在复制活动之后删除源文件。

注意:确保在触发管道之前发布所有更改。

第二种方法可以在ForEach中使用Get元数据活动和ForEach以及复制活动。

每个月都要使用调度触发器。

首先使用UTC(使用另一个源数据集并只给出路径直到文件夹)获取子项,并在经过最后修改的元数据活动的utcnow()筛选器中给出您的月份开始日期(使用动态内容FormatDatetime() FormatDatetime()以获得正确的格式)

现在,您将获得所有子项数组的列表,该数组上次修改日期为本月。将这个数组交给ForEach,在ForEach内部使用复制活动

在复制活动源中,使用dataset参数作为文件名(与上面相同),并给出@item().name

在复制活动接收器中,使用两个dataset参数,一个用于文件夹名,另一个用于文件名。在文件夹名中,yyyy-MM格式的动态内容与上面的相同,文件名的动态内容为@item().name

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74545918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档