我有一个带有“失败”输出的“查找”活动,该活动执行“存储过程”活动。 “存储过程”活动记录失败。如何以编程方式获取错误的Lookup活动的名称以及错误消息(如存储过程活动的输入参数中一样)?谢谢。
答案 0 :(得分:0)
您可以按照示例sdk代码here的操作从运行在管道中的活动中获取错误消息。
1。运行“查找”活动管道。
CreateRunResponse runResponse = client.Pipelines.CreateRunWithHttpMessagesAsync(resourceGroup, dataFactoryName, pipelineName).Result.Body;
Console.WriteLine("Pipeline run ID: " + runResponse.RunId);
2。如果错误消息崩溃了,请获取该错误消息。
List<ActivityRun> activityRuns = client.ActivityRuns.ListByPipelineRun(
resourceGroup, dataFactoryName, runResponse.RunId, DateTime.UtcNow.AddMinutes(-10), DateTime.UtcNow.AddMinutes(10)).ToList();
if (pipelineRun.Status == "Succeeded")
Console.WriteLine(activityRuns.First().Output);
else
Console.WriteLine(activityRuns.First().Error);
3。然后使用上述消息作为参数运行另一个sp活动管道。
Dictionary<string, object> parameters = new Dictionary<string, object>
{
{ "errorMessage", activityRuns.First().Error}
};
CreateRunResponse runResponse = client.Pipelines.CreateRunWithHttpMessagesAsync(resourceGroup, dataFactoryName, pipelineName, parameters: parameters).Result.Body;
Console.WriteLine("Pipeline run ID: " + runResponse.RunId);