0

我一直在做一些实验,对于 Log Analytics 中的 ADF 日志,相关 ID 似乎是 Pipeline RunId 的副本。TriggerId 似乎是空白的。

我有一个调用其他管道的管道。

ScheduledTrigger -> Pipeline 1 -> activity 1 execute pipeline(pipeline 2)
                               -> activity 2 execute pipeline(pipeline 3)

我想要一个 ID,使我能够找到从父触发器运行的所有管道和活动。我认为这将在相关 ID 或触发器 ID 中。

我知道我可以通过将来自 @trigger() 对象的触发器 ID 作为参数传递给管道堆栈来解决这个问题,但我想知道我是否遗漏了一些自动获取它的技巧?

4

1 回答 1

1

刚刚结束 - 我做了我预期我需要做的事情。最顶层的父级复制管道的 RunId 并将其作为参数传递给所有子管道。所有子管道都将相同的 RunId 传递给它们的子管道(而不是它们自己的 RunID)。

当我调用存储过程或外部资源(如 Web 或函数)时,我将相同的 RunID 作为必需参数传递。这样,无论是管道、SP 还是外部调用,所有子级都可以使用一致的相关 ID。

我一直使用“RunID”这个名称来记录任何组件的分析,因此可以轻松地全面了解所发生的事情。虽然这有点开销,但当多个 ADF、函数、逻辑应用程序、Web 调用、SP 调用等出现问题时,它节省了数小时的调试时间,因为它们都被这个 RunID 捆绑在一起。

希望这可以帮助。标记。

于 2019-04-18T01:17:10.107 回答