Description:

Sends the contents of a FlowFile as a message to Apache Kafka

Additional Details...

Tags:

Apache, Kafka, Put, Send, Message, PubSub

Properties:

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, whether a property supports the NiFi Expression Language, and whether a property is considered "sensitive", meaning that its value will be encrypted. Before entering a value in a sensitive property, ensure that the nifi.properties file has an entry for the property nifi.sensitive.props.key.

NameDefault ValueValid ValuesDescription
Known BrokersA comma-separated list of known Kafka Brokers in the format <host>:<port>
Topic NameThe Kafka Topic of interest
Supports Expression Language: true
Kafka KeyThe Key to use for the Message
Supports Expression Language: true
Delivery Guarantee0
  • Best Effort FlowFile will be routed to success after successfully writing the content to a Kafka node, without waiting for a response. This provides the best performance but may result in data loss.
  • Guarantee Single Node Delivery FlowFile will be routed to success if the message is received by a single Kafka node, whether or not it is replicated. This is faster than <Guarantee Replicated Delivery> but can result in data loss if a Kafka node crashes
  • Guarantee Replicated Delivery FlowFile will be routed to failure unless the message is replicated to the appropriate number of Kafka Nodes according to the Topic configuration
Specifies the requirement for guaranteeing that a message is sent to Kafka
Message DelimiterSpecifies the delimiter to use for splitting apart multiple messages within a single FlowFile. If not specified, the entire content of the FlowFile will be used as a single message. If specified, the contents of the FlowFile will be split on this delimiter and each section sent as a separate Kafka message.
Supports Expression Language: true
Max Buffer Size1 MBThe maximum amount of data to buffer in memory before sending to Kafka
Communications Timeout30 secsThe amount of time to wait for a response from Kafka before determining that there is a communications error
Client NameNiFi-Client Name to use when communicating with Kafka

Relationships:

NameDescription
failureAny FlowFile that cannot be sent to Kafka will be routed to this Relationship
successAny FlowFile that is successfully sent to Kafka will be routed to this Relationship