public Message <TKey, TValue> BuildFrom(IKafkaEventData eventData) { var msg = new Message <TKey, TValue>() { Value = (TValue)eventData.Value, }; if (eventData.Key != null) { if (!(eventData.Key is TKey keyValue)) { throw new ArgumentException($"Key value is not of the expected type. Expected: {typeof(TKey).Name}. Actual: {eventData.Key.GetType().Name}"); } msg.Key = keyValue; } if (eventData.Headers?.Count > 0) { msg.Headers = new Headers(); foreach (var header in eventData.Headers) { msg.Headers.Add(header.Key, header.Value); } } return(msg); }
private static void AddBindingData(Dictionary <string, object> bindingData, IKafkaEventData eventData) { bindingData.Add(nameof(IKafkaEventData.Key), eventData.Key); bindingData.Add(nameof(IKafkaEventData.Partition), eventData.Partition); bindingData.Add(nameof(IKafkaEventData.Topic), eventData.Topic); bindingData.Add(nameof(IKafkaEventData.Timestamp), eventData.Timestamp); bindingData.Add(nameof(IKafkaEventData.Offset), eventData.Offset); }
public static KafkaTriggerInput New(IKafkaEventData eventData) { return(new KafkaTriggerInput { Events = new[] { eventData }, _selector = 0, }); }
public Task SetValueAsync(object value, CancellationToken cancellationToken) { if (value == null) { return(Task.FromResult(0)); } Debug.Assert(value is T); IKafkaEventData message = converter.Convert((T)value); Debug.Assert(message != null); return(entity.SendAndCreateEntityIfNotExistsAsync(message, functionInstanceId, cancellationToken)); }
/// <summary> /// Adds an item, returning the current pending amount /// </summary> internal int Add(IKafkaEventData kafkaEventData) { this.currentBatch.Add(kafkaEventData); return(this.currentBatch.Count); }