【问题标题】:Azure Data Factory - Inner Activity Failed In For EachAzure 数据工厂 - 每个内部活动都失败
【发布时间】:2020-06-16 12:29:54
【问题描述】:

我使用查找活动将值传递给每个迭代活动。 Lookup 的输出值是从 SQL 表生成的。一旦迭代开始,如果 for each 中的一个活动失败,for each 迭代器尝试运行它的次数,查找输出值可用。我如何摆脱困境?我已经从 SQL 表中删除了记录,以退出循环,但循环继续运行。内部活动失败时如何清除 For Each Items 设置?

问候, 桑迪普

【问题讨论】:

  • 嗨 Sandeep T,对于每个活动,即使内部活动失败,现在也不支持中断。请看我的回答。

标签: azure-data-factory azure-data-factory-2 azure-data-factory-pipeline


【解决方案1】:

当内部活动失败时如何清除 For Each Items 设置?

不,我们不能。 For Each active 暂时不支持 break,即使内部 active 失败。

许多用户在堆栈溢出和Data Factory feedback 中发布了相同的问题:

它被投票了 31 次,但数据工厂产品团队仍然没有回应。

参考:https://feedback.azure.com/forums/270578-data-factory/suggestions/39673909-foreach-activity-allow-break

更新:

恭喜您找到了适合您的场景的解决方案:

“现在通过比较变量值和从查找活动中输出的文件数来使用直到活动来解决问题。”

我将其发布在答案中,这可能对其他社区成员有益。

希望这会有所帮助。

【讨论】:

  • 谢谢@Leon yue,我现在投了赞成票。现在通过比较变量值和从查找活动中输出的文件数来使用 until 活动来解决问题。
  • @SandeepT 恭喜您找到解决方案!我可以将其添加到我的答案中吗?您可以将其标记为答案。这可能对其他社区成员有益。谢谢。
  • 当然 Leon Yue,如果活动失败,我们应该将变量值更新为大于查找输出值的数字
【解决方案2】:

我已将 for each 循环替换为 until 活动。 until 活动的输入是一个 SQL 查询,它返回复制文件名的表中的记录计数和一个变量值。将@greater 表达式与变量值和查找活动值一起使用。在循环内部创建了使用临​​时变量增加变量值并添加表达式的逻辑。如果表达式失败,则标记变量值大于查找输出值。

【讨论】:

    猜你喜欢
    • 2020-12-13
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 2018-11-25
    相关资源
    最近更新 更多