Azure 数据工厂:如何在复制活动后删除子文件夹

问题描述 投票:0回答:1

我正在执行复制活动,将特定文件夹(包括子文件夹)的所有内容复制到目标文件夹中。我希望能够在复制后删除所有复制的文件及其关联的子文件夹。 “完成后删除文件”选项仅删除文件而不删除子文件夹,如果我尝试使用删除活动,它不允许我这样做。

假设我有 MainFolder,其中包含 subfolder1 和 subfolder2,其中包含文件。 我想复制 subfolder1 和 subfolder2 及其各自的内容 我想在复制 subfulder1 和 subfolder2 后删除它们,这样我就会有一个空的 MainFolder

请帮忙

Pipeline dataset

azure-data-factory
1个回答
0
投票

如果您想删除ADLS账户根文件夹下的子文件夹,可以按照以下步骤操作:

复制活动成功后,使用 Mainfolder 数据集添加带有子项字段的“获取元数据”活动。它将显示子文件夹列表,如下所示:

enter image description here

将 Foreach 活动添加到“获取元数据”活动,并启用顺序和

@activity('Get Metadata1').output.childItems
项。在 Foreach 活动内,使用具有数据集参数
path
的数据集添加一个删除活动,用于目录删除具有动态值
@concat('Mainfolder/',item().name)
的活动,如下所示:

enter image description here

调试管道,调试成功,没有任何错误,删除主文件夹中的子文件夹,如下所示:

enter image description here

管道调试前:

enter image description here

管道调试后:

enter image description here

注意: 如果您的文件夹位于 Blob 存储中,它将删除主文件夹本身,因为 Blob 存储不支持空文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.