DataFactory 使用通配符时会多次复制文件

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

各位 ADF 新手大家好 - 我在 DataFactory 方面遇到了一个奇怪的问题,令人惊讶的是我看不到其他人也遇到过同样的问题。

总结一下:

  1. 我已经设置了从 blob 到 Azure SQL 数据库的基本复制活动,无需转换步骤
  2. 我已经设置了一个基于通配符名称的触发器。 IE。加载到以 IDT* 开头的 blob 的任何文件都将复制到数据库
  3. 我已将一些文件加载到 Azure Blob 中的特定位置
  4. 触发器已激活
  5. 一旦看起来一切正常,对记录计数的快速评估表明相同的文件已被导入 X 次

我已经分析了发生的情况,基本上当我将文件加载到 blob 时,从技术上讲它们并不是同时到达的。因此,当文件 1 命中 blob 时,会触发通配符搜索并找到 1 个文件。然后,当第二个文件在几毫秒后到达 blob 时,再次触发通配符搜索,这次它会处理 2 个文件(第一个和第二个)。

根据加载的文件数量,问题会不断加剧。

我尝试了多种方法来修复此问题但无济于事,因为从根本上来说它的行为“正确”。

我已经尝试过:

  1. 处理完文件后将其删除,但由于毫秒问题,该文件在技术上仍然存在并且仍然可以处理
  2. 我添加了一个循环来一次处理 1 个文件,然后根据 blob 中的文件名加载下一个文件之前删除该文件,但没有起作用(并且无法解释原因)
  3. 我将 ADF 限制为只有 1 个并发连接,这减少了它重复的次数,但不幸的是仍然重复它
  4. 尝试在复制活动开始时放置一个等待计时器,但这会导致资源锁定问题。我收到一条错误消息,指出多次等待导致进程失败
  5. 尝试了 1,2 和 3 的组合,最终遇到了一个完全不同的问题,因为它试图查找文件 X,但现在不再存在,因为它已作为上述步骤 2 的一部分被删除

我真的很挣扎于一些看似非常基本的事情。所以我确信是我忽略了一些极其基本的东西,因为似乎没有人对 ADF 有这个问题。

wildcard azure-data-factory azure-file-copy
1个回答
0
投票

您找到解决方案了吗?

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