in code/KustoCopyConsole/Kusto/IngestClient.cs [69:95]
public async Task<IngestionFailureDetail?> FetchIngestionFailureAsync(
string serializedQueuedResult)
{
var ingestionResult = IngestionResultSerializer.Deserialize(serializedQueuedResult);
var status = ingestionResult.GetIngestionStatusCollection();
await Task.CompletedTask;
if (status.Count() != 1)
{
throw new InvalidOperationException(
$"Status count was expected to be 1 but is {status.Count()}");
}
var firstStatus = status.First();
if (FAILED_STATUS.Contains(firstStatus.Status)
&& firstStatus.FailureStatus != FailureStatus.Transient)
{
return new IngestionFailureDetail(
firstStatus.Status.ToString(),
firstStatus.Details);
}
else
{
return null;
}
}