public BulkResponse ListOfObjects() { var postData = Projects.SelectMany(p => new object[] { new { index = new { } }, p }); var lowLevel = ClientLowLevel.Bulk <BulkResponse>(PostData.MultiJson(postData)); return(lowLevel); }
private void SendBatch(IEnumerable <AsyncLogEventInfo> events) { try { var logEvents = events.Select(e => e.LogEvent); var payload = FormPayload(logEvents); var result = _client.Bulk <byte[]>(payload); if (result.Success) { return; } InternalLogger.Error("Failed to send log messages to elasticsearch: status={0}, message=\"{1}\"", result.HttpStatusCode, result.OriginalException?.Message ?? "No error message. Enable Trace logging for more information."); InternalLogger.Trace("Failed to send log messages to elasticsearch: result={0}", result); if (result.OriginalException != null) { throw result.OriginalException; } } catch (Exception ex) { InternalLogger.Error("Error while sending log messages to elasticsearch: message=\"{0}\"", ex.Message); if (ThrowExceptions) { throw; } } }
private void SendBatch(ICollection <AsyncLogEventInfo> logEvents) { try { var payload = FormPayload(logEvents); var result = _client.Bulk <BytesResponse>(payload); if (!result.Success) { var errorMessage = result.OriginalException?.Message ?? "No error message. Enable Trace logging for more information."; InternalLogger.Error($"Failed to send log messages to elasticsearch: status={result.HttpStatusCode}, message=\"{errorMessage}\""); InternalLogger.Trace($"Failed to send log messages to elasticsearch: result={result}"); if (result.OriginalException != null) { throw result.OriginalException; } } foreach (var ev in logEvents) { ev.Continuation(null); } } catch (Exception ex) { InternalLogger.Error($"Error while sending log messages to elasticsearch: message=\"{ex.Message}\""); foreach (var ev in logEvents) { ev.Continuation(ex); } } }
public void Write(IEnumerable <IRow> rows) { var builder = new StringBuilder(); var fullCount = 0; var batchCount = (uint)0; foreach (var part in rows.Partition(_context.Entity.InsertSize)) { foreach (var row in part) { batchCount++; fullCount++; foreach (var field in _context.OutputFields) { switch (field.Type) { case "guid": row[field] = ((Guid)row[field]).ToString(); break; case "datetime": row[field] = ((DateTime)row[field]).ToString("o"); break; } if (field.SearchType == "geo_point") { row[field] = new Dictionary <string, string> { { "text", row[field].ToString() }, { "location", row[field].ToString() } }; } } builder.Append(_prefix); foreach (var key in _context.OutputFields.Where(f => f.PrimaryKey)) { builder.Append(row[key]); } builder.AppendLine("\"}}"); builder.AppendLine(JsonConvert.SerializeObject(_context.OutputFields.ToDictionary(f => f.Alias.ToLower(), f => row[f]))); } var response = _client.Bulk <DynamicResponse>(builder.ToString(), nv => nv .AddQueryString("refresh", @"true") ); _context.Increment(@by: batchCount); if (response.Success) { _context.Debug(() => $"{batchCount} to output"); } else { _context.Error(response.OriginalException.Message); } builder.Clear(); batchCount = 0; } _context.Info($"{fullCount} to output"); }
private void SendBatch(IEnumerable <AsyncLogEventInfo> events) { #region Validations if (events == null) { throw new ArgumentNullException(nameof(events)); } #endregion if (events.Count() == 0) { return; } try { var logEvents = events.Select(e => e.LogEvent); var payload = ToPostData(logEvents); if (payload == null) { return; } var result = _client.Bulk <byte[]>(payload); if (result.Success == true) { return; } /* * */ InternalLogger.Error("Failed to send Zinc messages to elasticsearch: status={0}, message=\"{1}\"", result.HttpStatusCode, result.OriginalException?.Message ?? "No error message. Enable Trace logging for more information."); InternalLogger.Trace("Failed to send Zinc messages to elasticsearch: result={0}", result); if (result.OriginalException != null) { throw result.OriginalException; } } catch (Exception ex) { InternalLogger.Error("Error while sending Zinc messages to elasticsearch: message=\"{0}\"", ex.Message); if (ThrowExceptions == true) { throw; } } }
private void SendBatch(IEnumerable <AsyncLogEventInfo> events) { try { var logEvents = events.Select(e => e.LogEvent); var payload = FormPayload(logEvents); var result = _client.Bulk <byte[]>(payload); if (!result.Success) { InternalLogger.Error("Failed to send log messages to elasticsearch: status={0}, message=\"{1}\"", result.HttpStatusCode, result.OriginalException.Message); } } catch (Exception ex) { InternalLogger.Error("Error while sending log messages to elasticsearch: message=\"{0}\"", ex.Message); if (ThrowExceptions) { throw; } } }