Как программно отслеживать сообщения об ошибках/

У меня есть действие «Поиск» с выводом «Ошибка», которое выполняет действие «Хранимая процедура». Действие хранимой процедуры регистрирует сбой. Как программно получить имя действия поиска с ошибкой, а также сообщение об ошибке, как во входных параметрах действия хранимой процедуры? Спасибо.


person Vern Rabe    schedule 04.02.2019    source источник
comment
Привет, если вы думаете, что это поможет вам, не могли бы пометить это как ответ? Большое спасибо!   -  person Jay Gong    schedule 07.03.2019


Ответы (1)


Вы можете следовать примеру кода SDK здесь чтобы получить сообщения об ошибках от действия, которое выполняется в конвейере.

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);
person Jay Gong    schedule 05.02.2019