Azure数据工厂管道“出现故障”

时间:2019-06-10 13:14:41

标签: azure azure-data-factory-2

我正在设置ADF管道以将blob复制到Azure SQL数据库中。我的管道中有一个“迭代”活动,在其中设置了一个计数器,使其仅在blob存在的情况下循环和复制。

除了一些随机的PK违规之外,这非常有用,我将不得不手动检查。因此,我编辑了管道以记录错误,然后继续。因此,我这样设置了管道。 re 如果由于主键冲突导致复制活动失败,则(暂时)会忽略,但是使用存储过程记录详细信息并照常继续操作,即更新循环计数器以获取下一个文件夹。

不幸的是,“日志失败”的 成功 无法执行“设置变量”活动。因此,它以无限循环返回,并不断返回相同的异常,但是存储过程活动本身正在正确记录错误消息。

如果我创建一个新的“设置变量”并完全执行SetLoopVariable的操作,那似乎还可以。但这意味着我必须在此之后复制每个活动以具有两个单独的路径。我觉得这是多余的。

背景:我的文件结构为container / YYYY / MM / dd / HH / mm,每小时至少有一个文件,但一天中的每一分钟都没有,所以我要做在尝试复制之前检查文件夹是否存在。

2 个答案:

答案 0 :(得分:1)

托马斯回答是正确的。我最近有这个确切的问题。万一它对别人有帮助,我意识到这意味着箭头并不代表流程而是依赖。该框仅在完成所有前面的任务后才运行,在您的情况下这是不可能的,因为它取决于复制是成功还是失败。

要解决您的情况,只需在错误处理路径中复制“设置循环变量”即可。

但是您可能会遇到与我现在在这里Azure data factory: Handling inner failure in until/for activity

相同的问题

答案 1 :(得分:0)

这是设计使然。自Data Factory V2 Activity Dependencies are a Logical AND起,仅当复制数据成功且失败时,才会调用SetVariable。