Class KafkaConsumerEndpointConfigurationBuilder<TMessage>
- Namespace
- Silverback.Messaging.Configuration.Kafka
- Assembly
- Silverback.Integration.Kafka.dll
Builds the KafkaConsumerConfiguration.
public class KafkaConsumerEndpointConfigurationBuilder<TMessage> : ConsumerEndpointConfigurationBuilder<TMessage, KafkaConsumerEndpointConfiguration, KafkaConsumerEndpointConfigurationBuilder<TMessage>>
Type Parameters
TMessageThe type of the messages being consumed.
- Inheritance
-
EndpointConfigurationBuilder<TMessage, KafkaConsumerEndpointConfiguration, KafkaConsumerEndpointConfigurationBuilder<TMessage>>ConsumerEndpointConfigurationBuilder<TMessage, KafkaConsumerEndpointConfiguration, KafkaConsumerEndpointConfigurationBuilder<TMessage>>KafkaConsumerEndpointConfigurationBuilder<TMessage>
- Inherited Members
Constructors
KafkaConsumerEndpointConfigurationBuilder(IServiceProvider, string?)
Initializes a new instance of the KafkaConsumerEndpointConfigurationBuilder<TMessage> class.
public KafkaConsumerEndpointConfigurationBuilder(IServiceProvider serviceProvider, string? friendlyName = null)
Parameters
serviceProviderIServiceProviderThe IServiceProvider.
friendlyNamestringAn optional friendly to be shown in the human-targeted output (e.g. logs, health checks result, etc.).
Properties
This
Gets this instance.
protected override KafkaConsumerEndpointConfigurationBuilder<TMessage> This { get; }
Property Value
Remarks
This is necessary to work around casting in the base classes.
Methods
ConsumeFrom(params TopicPartitionOffset[])
Specifies the topics and partitions to be consumed, as well as the starting offsets.
public KafkaConsumerEndpointConfigurationBuilder<TMessage> ConsumeFrom(params TopicPartitionOffset[] topicPartitionOffsets)
Parameters
topicPartitionOffsetsTopicPartitionOffset[]The topic partitions to be consumed and their starting offset.
Returns
- KafkaConsumerEndpointConfigurationBuilder<TMessage>
The KafkaConsumerEndpointConfigurationBuilder<TMessage> so that additional calls can be chained.
ConsumeFrom(params TopicPartition[])
Specifies the topics and partitions to be consumed.
public KafkaConsumerEndpointConfigurationBuilder<TMessage> ConsumeFrom(params TopicPartition[] topicPartitions)
Parameters
topicPartitionsTopicPartition[]The topic partitions to be consumed.
Returns
- KafkaConsumerEndpointConfigurationBuilder<TMessage>
The KafkaConsumerEndpointConfigurationBuilder<TMessage> so that additional calls can be chained.
ConsumeFrom(IEnumerable<string>, Func<IReadOnlyCollection<TopicPartition>, IEnumerable<TopicPartitionOffset>>)
Specifies the topics and a function that returns the partitions to be consumed, as well as the starting offsets.
public KafkaConsumerEndpointConfigurationBuilder<TMessage> ConsumeFrom(IEnumerable<string> topics, Func<IReadOnlyCollection<TopicPartition>, IEnumerable<TopicPartitionOffset>> partitionOffsetsProvider)
Parameters
topicsIEnumerable<string>The topics.
partitionOffsetsProviderFunc<IReadOnlyCollection<TopicPartition>, IEnumerable<TopicPartitionOffset>>A function that receives all available Confluent.Kafka.TopicPartition for the topics and returns the collection of Confluent.Kafka.TopicPartitionOffset containing the partitions to be consumed and their starting offsets.
Returns
- KafkaConsumerEndpointConfigurationBuilder<TMessage>
The KafkaConsumerEndpointConfigurationBuilder<TMessage> so that additional calls can be chained.
ConsumeFrom(IEnumerable<string>, Func<IReadOnlyCollection<TopicPartition>, ValueTask<IEnumerable<TopicPartitionOffset>>>)
Specifies the topics and a function that returns the partitions to be consumed, as well as the starting offsets.
public KafkaConsumerEndpointConfigurationBuilder<TMessage> ConsumeFrom(IEnumerable<string> topics, Func<IReadOnlyCollection<TopicPartition>, ValueTask<IEnumerable<TopicPartitionOffset>>> partitionOffsetsProvider)
Parameters
topicsIEnumerable<string>The topics.
partitionOffsetsProviderFunc<IReadOnlyCollection<TopicPartition>, ValueTask<IEnumerable<TopicPartitionOffset>>>A function that receives all available Confluent.Kafka.TopicPartition for the topics and returns the collection of Confluent.Kafka.TopicPartitionOffset containing the partitions to be consumed and their starting offsets.
Returns
- KafkaConsumerEndpointConfigurationBuilder<TMessage>
The KafkaConsumerEndpointConfigurationBuilder<TMessage> so that additional calls can be chained.
ConsumeFrom(string)
Specifies the topic to be subscribed.
public KafkaConsumerEndpointConfigurationBuilder<TMessage> ConsumeFrom(string topic)
Parameters
topicstringThe topic.
Returns
- KafkaConsumerEndpointConfigurationBuilder<TMessage>
The KafkaConsumerEndpointConfigurationBuilder<TMessage> so that additional calls can be chained.
ConsumeFrom(string, Func<IReadOnlyCollection<TopicPartition>, IEnumerable<TopicPartitionOffset>>)
Specifies the topic and a function that returns the partitions to be consumed, as well as the starting offsets.
public KafkaConsumerEndpointConfigurationBuilder<TMessage> ConsumeFrom(string topic, Func<IReadOnlyCollection<TopicPartition>, IEnumerable<TopicPartitionOffset>> partitionOffsetsProvider)
Parameters
topicstringThe topic.
partitionOffsetsProviderFunc<IReadOnlyCollection<TopicPartition>, IEnumerable<TopicPartitionOffset>>A function that receives all available Confluent.Kafka.TopicPartition for the topic and returns the collection of Confluent.Kafka.TopicPartitionOffset containing the partitions to be consumed and their starting offsets.
Returns
- KafkaConsumerEndpointConfigurationBuilder<TMessage>
The KafkaConsumerEndpointConfigurationBuilder<TMessage> so that additional calls can be chained.
ConsumeFrom(string, Func<IReadOnlyCollection<TopicPartition>, IEnumerable<TopicPartition>>)
Specifies the topic and a function that returns the partitions to be consumed.
public KafkaConsumerEndpointConfigurationBuilder<TMessage> ConsumeFrom(string topic, Func<IReadOnlyCollection<TopicPartition>, IEnumerable<TopicPartition>> partitionsProvider)
Parameters
topicstringThe topic.
partitionsProviderFunc<IReadOnlyCollection<TopicPartition>, IEnumerable<TopicPartition>>A function that receives all available Confluent.Kafka.TopicPartition for the topic and returns the collection of Confluent.Kafka.TopicPartition to be consumed.
Returns
- KafkaConsumerEndpointConfigurationBuilder<TMessage>
The KafkaConsumerEndpointConfigurationBuilder<TMessage> so that additional calls can be chained.
ConsumeFrom(string, params int[])
Specifies the topic partitions to be consumed.
public KafkaConsumerEndpointConfigurationBuilder<TMessage> ConsumeFrom(string topic, params int[] partitions)
Parameters
Returns
- KafkaConsumerEndpointConfigurationBuilder<TMessage>
The KafkaConsumerEndpointConfigurationBuilder<TMessage> so that additional calls can be chained.
ConsumeFrom(params string[])
Specifies the topics to be subscribed.
public KafkaConsumerEndpointConfigurationBuilder<TMessage> ConsumeFrom(params string[] topics)
Parameters
topicsstring[]The topics to be subscribed.
Returns
- KafkaConsumerEndpointConfigurationBuilder<TMessage>
The KafkaConsumerEndpointConfigurationBuilder<TMessage> so that additional calls can be chained.
ConsumeFrom(string[], Func<IReadOnlyCollection<TopicPartition>, IEnumerable<TopicPartition>>)
Specifies the topics and a function that returns the partitions to be consumed, as well as the starting offsets.
public KafkaConsumerEndpointConfigurationBuilder<TMessage> ConsumeFrom(string[] topics, Func<IReadOnlyCollection<TopicPartition>, IEnumerable<TopicPartition>> partitionsProvider)
Parameters
topicsstring[]The topics.
partitionsProviderFunc<IReadOnlyCollection<TopicPartition>, IEnumerable<TopicPartition>>A function that receives all available Confluent.Kafka.TopicPartition for the topics and returns the collection of Confluent.Kafka.TopicPartition to be consumed.
Returns
- KafkaConsumerEndpointConfigurationBuilder<TMessage>
The KafkaConsumerEndpointConfigurationBuilder<TMessage> so that additional calls can be chained.
CreateConfiguration()
Creates the TConfiguration instance.
protected override KafkaConsumerEndpointConfiguration CreateConfiguration()
Returns
- KafkaConsumerEndpointConfiguration
The endpoint.