protected async Task SendDocuments(IEnumerable <Dictionary <string, object> > documents) { var batch = new { value = documents }; var azureSearchHelper = new AzureSearchHelper(IndexName, 0); var response = await azureSearchHelper.SendDocumentsAsync(batch); var json = await response.Content.ReadAsStringAsync(); var results = JObject.Parse(json); var value = results["value"]; var statuses = value.Children(); var errors = statuses.Where(i => !(bool)i["status"]); if (errors.Any()) { var groups = errors.GroupBy(i => (string)i["errorMessage"]); var first = groups.First(); throw new Exception(String.Format("Error count: total {0}, distinct {1}. First error: key {2}, message {3}", errors.Count(), groups.Count(), (string)first.First()["key"], first.Key)); } }