问题描述
大家好,这里的所有 ADF 新手 - 我对 DataFactory 有一个奇怪的问题,令人惊讶的是看不到其他人也遇到过同样的问题。
总结:
- 我已经设置了从 blob 到 Azure sql 数据库的基本复制活动,无需转换步骤
- 我已经设置了一个基于通配符名称的触发器。 IE。加载到 blob 中以 IDT* 开头的任何文件都将复制到数据库中
- 我已将一些文件加载到 Azure Blob 中的特定位置
- 触发器已激活
- 一旦看起来一切正常,对记录计数的快速评估显示相同的文件已被导入 X 次
我已经分析了正在发生的事情,基本上当我将文件加载到 blob 时,它们在技术上不会完全同时到达。因此,当文件 1 命中 blob 时,将触发通配符搜索并找到 1 个文件。然后当第二个文件在几毫秒后命中 blob 时,再次触发通配符搜索,这次它处理 2 个文件(第一个和第二个)。
我尝试了多种方法来解决此问题,但无济于事,因为从根本上说,它的行为“正确”。
我试过了:
- 在处理完文件后将其删除,但由于毫秒问题,该文件在技术上仍然存在并且仍然可以处理
- 我添加了一个循环来一次处理 1 个文件,然后根据 blob 中的文件名在加载下一个文件之前删除该文件,但没有奏效(并且无法解释原因)
- 我将 ADF 限制为只有 1 个并发连接,这减少了它复制的次数,但不幸的是仍然复制它
- 尝试在复制活动开始时放置一个等待计时器,但这会导致资源锁定问题。我收到一条错误消息,指出多次等待导致进程失败
- 尝试了 1,2 和 3 的组合,我最终遇到了一个完全不同的问题,因为它正在尝试查找文件 X,但现在不再存在,因为它已作为上述步骤 2 的一部分被删除
我真的在为一些看起来非常基本的东西而苦苦挣扎。所以我确信是我忽略了一些非常基本的东西,因为 ADF 似乎没有其他人有这个问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)