Show / Hide Table of Contents

    Interface IKafkaProducerEndpointBuilder

    Builds the KafkaProducerEndpoint.

    Inherited Members
    IProducerEndpointBuilder<IKafkaProducerEndpointBuilder>.SerializeUsing(IMessageSerializer)
    IProducerEndpointBuilder<IKafkaProducerEndpointBuilder>.Encrypt(EncryptionSettings)
    IProducerEndpointBuilder<IKafkaProducerEndpointBuilder>.UseStrategy(IProduceStrategy)
    IProducerEndpointBuilder<IKafkaProducerEndpointBuilder>.ProduceDirectly()
    IProducerEndpointBuilder<IKafkaProducerEndpointBuilder>.ProduceToOutbox()
    IProducerEndpointBuilder<IKafkaProducerEndpointBuilder>.EnableChunking(int, bool)
    IProducerEndpointBuilder<IKafkaProducerEndpointBuilder>.AddHeader(string, object)
    IProducerEndpointBuilder<IKafkaProducerEndpointBuilder>.AddHeader<TMessage>(string, object)
    IProducerEndpointBuilder<IKafkaProducerEndpointBuilder>.AddHeader<TMessage>(string, Func<IOutboundEnvelope<TMessage>, object>)
    IProducerEndpointBuilder<IKafkaProducerEndpointBuilder>.WithMessageId<TMessage>(Func<IOutboundEnvelope<TMessage>, object>)
    IEndpointBuilder<IKafkaProducerEndpointBuilder>.MessageType
    IEndpointBuilder<IKafkaProducerEndpointBuilder>.WithName(string)
    IEndpointBuilder<IKafkaProducerEndpointBuilder>.UseSerializer(IMessageSerializer)
    IEndpointBuilder<IKafkaProducerEndpointBuilder>.WithEncryption(EncryptionSettings)
    IEndpointBuilder<IKafkaProducerEndpointBuilder>.ValidateMessage(bool)
    IEndpointBuilder<IKafkaProducerEndpointBuilder>.DisableMessageValidation()
    Namespace: Silverback.Messaging.Configuration.Kafka
    Assembly: Silverback.Integration.Kafka.dll
    Syntax
    public interface IKafkaProducerEndpointBuilder : IProducerEndpointBuilder<IKafkaProducerEndpointBuilder>, IEndpointBuilder<IKafkaProducerEndpointBuilder>

    Methods

    | Improve this doc View source

    Configure(Action<KafkaProducerConfig>)

    Configures the Kafka client properties.

    Declaration
    IKafkaProducerEndpointBuilder Configure(Action<KafkaProducerConfig> configAction)
    Parameters
    Type Name Description
    Action<KafkaProducerConfig> configAction

    An Action<T> that takes the KafkaProducerConfig and configures it.

    Returns
    Type Description
    IKafkaProducerEndpointBuilder

    The IKafkaProducerEndpointBuilder so that additional calls can be chained.

    | Improve this doc View source

    ProduceTo(Func<IOutboundEnvelope, IServiceProvider, string?>, Func<IOutboundEnvelope, IServiceProvider, int>?)

    Specifies the name of the topic and optionally the target partition.

    Declaration
    IKafkaProducerEndpointBuilder ProduceTo(Func<IOutboundEnvelope, IServiceProvider, string?> topicNameFunction, Func<IOutboundEnvelope, IServiceProvider, int>? partitionFunction = null)
    Parameters
    Type Name Description
    Func<IOutboundEnvelope, IServiceProvider, string> topicNameFunction

    The function returning the topic name for the message being produced. If the function returns null the message will not be produced.

    Func<IOutboundEnvelope, IServiceProvider, int> partitionFunction

    The optional function returning the target partition index for the message being produced. If null the partition is automatically derived from the message key (use KafkaKeyMemberAttribute to specify a message key, otherwise a random one will be generated).

    Returns
    Type Description
    IKafkaProducerEndpointBuilder

    The IKafkaProducerEndpointBuilder so that additional calls can be chained.

    | Improve this doc View source

    ProduceTo(Func<IOutboundEnvelope, string?>, Func<IOutboundEnvelope, int>?)

    Specifies the name of the topic and optionally the target partition.

    Declaration
    IKafkaProducerEndpointBuilder ProduceTo(Func<IOutboundEnvelope, string?> topicNameFunction, Func<IOutboundEnvelope, int>? partitionFunction = null)
    Parameters
    Type Name Description
    Func<IOutboundEnvelope, string> topicNameFunction

    The function returning the topic name for the message being produced. If the function returns null the message will not be produced.

    Func<IOutboundEnvelope, int> partitionFunction

    The optional function returning the target partition index for the message being produced. If null the partition is automatically derived from the message key (use KafkaKeyMemberAttribute to specify a message key, otherwise a random one will be generated).

    Returns
    Type Description
    IKafkaProducerEndpointBuilder

    The IKafkaProducerEndpointBuilder so that additional calls can be chained.

    | Improve this doc View source

    ProduceTo(string, Func<IOutboundEnvelope, string[]>, Func<IOutboundEnvelope, int>?)

    Specifies the name of the topic and optionally the target partition.

    Declaration
    IKafkaProducerEndpointBuilder ProduceTo(string topicNameFormatString, Func<IOutboundEnvelope, string[]> topicNameArgumentsFunction, Func<IOutboundEnvelope, int>? partitionFunction = null)
    Parameters
    Type Name Description
    string topicNameFormatString

    The endpoint name format string that will be combined with the arguments returned by the topicNameArgumentsFunction using a string.Format.

    Func<IOutboundEnvelope, string[]> topicNameArgumentsFunction

    The function returning the arguments to be used to format the string.

    Func<IOutboundEnvelope, int> partitionFunction

    The optional function returning the target partition index for the message being produced. If null the partition is automatically derived from the message key (use KafkaKeyMemberAttribute to specify a message key, otherwise a random one will be generated).

    Returns
    Type Description
    IKafkaProducerEndpointBuilder

    The IKafkaProducerEndpointBuilder so that additional calls can be chained.

    | Improve this doc View source

    ProduceTo(string, int?)

    Specifies the name of the topic and optionally the target partition.

    Declaration
    IKafkaProducerEndpointBuilder ProduceTo(string topicName, int? partition = null)
    Parameters
    Type Name Description
    string topicName

    The name of the topic.

    int? partition

    The optional partition index. If null the partition is automatically derived from the message key (use KafkaKeyMemberAttribute to specify a message key, otherwise a random one will be generated).

    Returns
    Type Description
    IKafkaProducerEndpointBuilder

    The IKafkaProducerEndpointBuilder so that additional calls can be chained.

    | Improve this doc View source

    ProduceTo<TMessage>(Func<IOutboundEnvelope<TMessage>, IServiceProvider, string?>, Func<IOutboundEnvelope<TMessage>, IServiceProvider, int>?)

    Specifies the name of the topic and optionally the target partition.

    Declaration
    IKafkaProducerEndpointBuilder ProduceTo<TMessage>(Func<IOutboundEnvelope<TMessage>, IServiceProvider, string?> topicNameFunction, Func<IOutboundEnvelope<TMessage>, IServiceProvider, int>? partitionFunction = null) where TMessage : class
    Parameters
    Type Name Description
    Func<IOutboundEnvelope<TMessage>, IServiceProvider, string> topicNameFunction

    The function returning the topic name for the message being produced. If the function returns null the message will not be produced.

    Func<IOutboundEnvelope<TMessage>, IServiceProvider, int> partitionFunction

    The optional function returning the target partition index for the message being produced. If null the partition is automatically derived from the message key (use KafkaKeyMemberAttribute to specify a message key, otherwise a random one will be generated).

    Returns
    Type Description
    IKafkaProducerEndpointBuilder

    The IKafkaProducerEndpointBuilder so that additional calls can be chained.

    Type Parameters
    Name Description
    TMessage

    The type of the messages being produced.

    | Improve this doc View source

    ProduceTo<TMessage>(Func<IOutboundEnvelope<TMessage>, string?>, Func<IOutboundEnvelope<TMessage>, int>?)

    Specifies the name of the topic and optionally the target partition.

    Declaration
    IKafkaProducerEndpointBuilder ProduceTo<TMessage>(Func<IOutboundEnvelope<TMessage>, string?> topicNameFunction, Func<IOutboundEnvelope<TMessage>, int>? partitionFunction = null) where TMessage : class
    Parameters
    Type Name Description
    Func<IOutboundEnvelope<TMessage>, string> topicNameFunction

    The function returning the topic name for the message being produced. If the function returns null the message will not be produced.

    Func<IOutboundEnvelope<TMessage>, int> partitionFunction

    The optional function returning the target partition index for the message being produced. If null the partition is automatically derived from the message key (use KafkaKeyMemberAttribute to specify a message key, otherwise a random one will be generated).

    Returns
    Type Description
    IKafkaProducerEndpointBuilder

    The IKafkaProducerEndpointBuilder so that additional calls can be chained.

    Type Parameters
    Name Description
    TMessage

    The type of the messages being produced.

    | Improve this doc View source

    ProduceTo<TMessage>(string, Func<IOutboundEnvelope<TMessage>, string[]>, Func<IOutboundEnvelope<TMessage>, int>?)

    Specifies the name of the topic and optionally the target partition.

    Declaration
    IKafkaProducerEndpointBuilder ProduceTo<TMessage>(string topicNameFormatString, Func<IOutboundEnvelope<TMessage>, string[]> topicNameArgumentsFunction, Func<IOutboundEnvelope<TMessage>, int>? partitionFunction = null) where TMessage : class
    Parameters
    Type Name Description
    string topicNameFormatString

    The endpoint name format string that will be combined with the arguments returned by the topicNameArgumentsFunction using a string.Format.

    Func<IOutboundEnvelope<TMessage>, string[]> topicNameArgumentsFunction

    The function returning the arguments to be used to format the string.

    Func<IOutboundEnvelope<TMessage>, int> partitionFunction

    The optional function returning the target partition index for the message being produced. If null the partition is automatically derived from the message key (use KafkaKeyMemberAttribute to specify a message key, otherwise a random one will be generated).

    Returns
    Type Description
    IKafkaProducerEndpointBuilder

    The IKafkaProducerEndpointBuilder so that additional calls can be chained.

    Type Parameters
    Name Description
    TMessage

    The type of the messages being produced.

    | Improve this doc View source

    UseEndpointNameResolver<TResolver>()

    Specifies the type of the IKafkaProducerEndpointNameResolver to be used to resolve the actual endpoint name and partition.

    Declaration
    IKafkaProducerEndpointBuilder UseEndpointNameResolver<TResolver>() where TResolver : IKafkaProducerEndpointNameResolver
    Returns
    Type Description
    IKafkaProducerEndpointBuilder

    The IKafkaProducerEndpointBuilder so that additional calls can be chained.

    Type Parameters
    Name Description
    TResolver

    The type of the IKafkaProducerEndpointNameResolver to be used.

    | Improve this doc View source

    WithKafkaKey<TMessage>(Func<IOutboundEnvelope<TMessage>, object?>)

    Uses the specified value provider function to set the kafka key for each produced message.

    Declaration
    IKafkaProducerEndpointBuilder WithKafkaKey<TMessage>(Func<IOutboundEnvelope<TMessage>, object?> valueProvider) where TMessage : class
    Parameters
    Type Name Description
    Func<IOutboundEnvelope<TMessage>, object> valueProvider

    The value provider function.

    Returns
    Type Description
    IKafkaProducerEndpointBuilder

    The endpoint builder so that additional calls can be chained.

    Type Parameters
    Name Description
    TMessage

    The type of the messages to be enriched.

    Extension Methods

    ProducerEndpointBuilderEncryptUsingExtensions.EncryptUsingAes<TBuilder>(IProducerEndpointBuilder<TBuilder>, byte[], byte[]?)
    ProducerEndpointBuilderEncryptUsingExtensions.EncryptUsingAes<TBuilder>(IProducerEndpointBuilder<TBuilder>, byte[], string, byte[]?)
    ProducerEndpointBuilderProduceBinaryFilesExtensions.ProduceBinaryFiles<TBuilder>(IProducerEndpointBuilder<TBuilder>, Action<IBinaryFileMessageSerializerBuilder>?)
    ProducerEndpointBuilderSerializeAsJsonExtensions.SerializeAsJson<TBuilder>(IProducerEndpointBuilder<TBuilder>, Action<IJsonMessageSerializerBuilder>?)
    ProducerEndpointBuilderSerializeAsJsonUsingNewtonsoftExtensions.SerializeAsJsonUsingNewtonsoft<TBuilder>(IProducerEndpointBuilder<TBuilder>, Action<INewtonsoftJsonMessageSerializerBuilder>?)
    • Improve this doc
    • View source
    In this article
    • Methods
      • Configure(Action<KafkaProducerConfig>)
      • ProduceTo(Func<IOutboundEnvelope, IServiceProvider, string?>, Func<IOutboundEnvelope, IServiceProvider, int>?)
      • ProduceTo(Func<IOutboundEnvelope, string?>, Func<IOutboundEnvelope, int>?)
      • ProduceTo(string, Func<IOutboundEnvelope, string[]>, Func<IOutboundEnvelope, int>?)
      • ProduceTo(string, int?)
      • ProduceTo<TMessage>(Func<IOutboundEnvelope<TMessage>, IServiceProvider, string?>, Func<IOutboundEnvelope<TMessage>, IServiceProvider, int>?)
      • ProduceTo<TMessage>(Func<IOutboundEnvelope<TMessage>, string?>, Func<IOutboundEnvelope<TMessage>, int>?)
      • ProduceTo<TMessage>(string, Func<IOutboundEnvelope<TMessage>, string[]>, Func<IOutboundEnvelope<TMessage>, int>?)
      • UseEndpointNameResolver<TResolver>()
      • WithKafkaKey<TMessage>(Func<IOutboundEnvelope<TMessage>, object?>)
    • Extension Methods
    GitHub E-Mail
    ↑ Back to top © 2020 Sergio Aquilini