ADF :: 如果接收器中的文件不在源中,请删除它们

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

我偶然发现了一个很好的 ADF 模板,名为 仅按 LastModifiedDate 复制新文件

enter image description here

此 ADF 模板允许同步两个 Blob 存储,但只有一种方式

A --> B
。模板效果相当好。

问题是,当在

A
中删除文件时,它不会在
B
中删除。

如何让 ADF 检查

B
(接收器)中的文件是否不存在于
A
(源)中,请将其删除。

我找到了一篇关于此场景的帖子,但它是针对 SQL,而不是文件。

但我想要达到的目标是一样的。

azure synchronization azure-data-factory etl azcopy
1个回答
0
投票

您可以使用跨源和接收器的获取元数据活动来识别源和接收器之间的文件列表。 然后通过过滤器活动获取接收器中而不是源中存在的增量文件

Items : @activity('获取接收器文件列表').output.childItems 条件:@not(contains(activity('获取源文件列表').output.childItems,item()))

然后使用删除活动,您可以传递数组列表来删除那些

我的以下博客: https://datasharkx.wordpress.com/2023/04/18/moving-delta-missing-files- Between-source-and-sink-via-azure-data-factory-synapse-pipeline/

以类似的方式显示示例,但对您来说,更改将是接收器和源反转,然后使用删除活动而不是复制

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.