我一直在做一些实验,对于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作为参数传递给管道堆栈来解决此问题,但想知道我是否缺少一些自动获取它的技巧?
答案 0 :(得分:0)
仅此而已-我做了我期望做的事。 最上层的父级将复制管道的RunId,并将其作为参数传递给所有子管道。所有子管道将相同的RunId传递给其子节点(而不是自己的RunID)。
当我调用存储过程或外部资源(例如Web或函数)时,我将此相同的RunID作为必需参数传递。这样,所有子级(无论是管道,SP还是外部调用)都可以使用一致的关联ID。
我一直使用名称“ RunID”来记录任何组件的分析结果,因此可以轻松了解发生的一切。这样虽然有点麻烦,但是当多个ADF,函数,逻辑应用程序,Web调用,SP调用等出现问题时,由于它们都被此RunID绑定在一起,因此节省了调试时间。
希望这会有所帮助。 马克。