Kaffe.Producer (Kaffe v1.27.2)
View SourceThe producer pulls in values from the Kaffe producer configuration:
heroku_kafka_env- endpoints and SSL configuration will be pulled from ENVendpoints- plaintext Kafka endpointstopics- a list of Kafka topics to prep for producingpartition_strategy- the strategy to use when selecting the next partition. Default:md5.:md5: provides even and deterministic distrbution of the messages over the available partitions based on an MD5 hash of the key:random- Select a random partition- function - Pass a function as an argument that accepts five arguments and
returns the partition number to use for the message
topic, current_partition, partitions_count, key, value
Clients can also specify a partition directly when producing.
Currently only synchronous production is supported.
Summary
Types
Headers represent a list of tuples containing key, value pairs of type binary()
A Kafka message can be represented as a tuple containing a key value pair of type binary()
A Kafka message can also be represented as a map, containing :key, :value, and :headers
Functions
Synchronously produce the messages_list to topic
Synchronously produce the given key/value to the first Kafka topic.
Synchronously produce the key/value to topic
Synchronously produce the given key/value to the topic/partition
Types
Headers represent a list of tuples containing key, value pairs of type binary()
A Kafka message can be represented as a tuple containing a key value pair of type binary()
@type message_object() :: %{ key: key :: binary(), value: value :: binary(), headers: headers :: headers() }
A Kafka message can also be represented as a map, containing :key, :value, and :headers
Functions
Synchronously produce the messages_list to topic
messages_listmust be a list of typemessage()ormessage_object()optsmay include the partition strategy to use,partition_strategy: :md5, or:randomor a function.
Returns:
* `:ok` on successfully producing each message
* `{:error, reason}` for any error
Synchronously produce the given key/value to the first Kafka topic.
This is a simpler way to produce if you've only given Producer a single topic for production and don't want to specify the topic for each call.
Returns:
* `:ok` on successfully producing the message
* `{:error, reason}` for any error
Synchronously produce the key/value to topic
See produce_sync/2 for returns.
Synchronously produce the given key/value to the topic/partition
See produce_sync/2 for returns.