Apache Kafka Producer


This page explains the Apache Kafka Producer Adapter in Bridge context. If you were looking for the same information regarding the PAS Designer, refer to Apache Kafka Producer Adapter in the Designer guide.

Tagged Values

<<KafkaProducerAlias>>

Attribute Description Kafka Property Allowed Values / Examples
Name
(name)
Specify a name for the alias. - any string
Standard
Servers Provide a list of Kafka brokers with (optional) ports. bootstrap.servers kafka1.acme.com , kafka2.acme.com:9092
Enable Idempotence

Enables the producer to write a message to Kafka exactly once. enable.idempotence true Write message exactly once to the specified partition of the topic during the lifetime of the producer - without data loss and order per partition (default).
false Message may be delivered multiple times on e.g. connection failures.
Compression
Compression Type

Provide a compression codec for compressing message sets. compression.type none No compression (default).
gzip Compress with gzip.
Security
Protocol Security

Provide the protocol used to communicate with the Kafka brokers. security.protocol plaintext Use plain text (default).
ssl Use SSL.
Ssl Private Key File Provide the path to the client's private key file (PEM) to be used for authentication. ssl.key.location a valid path
Ssl Private Key Password Provide the password for the private key file. ssl.key.password a valid password
Ssl Private Key String Provide the client's private key string (PEM format) to be used for authentication. ssl.key.pem a valid key string
Ssl Client Certificate File Provide the path to the client's public key file (PEM) to be used for authentication. ssl.certificate.location a valid path
Ssl Client Certificate String Provide the client's public key string (PEM format) to be used for authentication. ssl.certificate.pem a valid key string
Ssl CA Location


Specify how to find CA certificate(s) for verifying the key of the Kafka broker. ssl.ca.location <path> File or directory path to the CA certificate(s).
probe Guess the location of the CA store and try to find the CA certificate(s) automatically.
bundled Use the CA bundle provided with PAS.
Ssl CA String Provide the CA certificate string (PEM format) to verify the key of the Kafka broker. ssl.ca.pem a valid  CA certificate string
Advanced
Additional Properties

Use this to directly set properties of the Kafka producer.

Using this attribute, you can also overwrite the dedicated settings above. In this case,

  • the Compiler will show a warning,
  • the service will log a warning on startup.

buffer.memory=67108864 , retries=4294967294

KafkaProducerAdapter Operations

produce

 Name Type Direction Description
producerRecord ProducerRecord in Provide the message and the target for the adapter to send the message to a Kafka topic.
recordMetaData RecordMetaData out Returns some meta data about the processing the Kafka broker has done.

KafkaProducerAdapter Parameter Types

ProducerRecord

Attribute Type Mandatory Description
topic String (tick) Specify the topic the message should be sent do.
partition
Integer (error) Specify the partition the message should be send to.
key
Blob (error) Specify a key the message should be filed to.
id
Integer (error) Will be generated. We recommend not to set one manually.
headers
Array of MessageHeader (error) Specify headers if you want to provide additional information on the  message content for e.g. routing or filtering use cases.
value
Blob (error) Specify the actual message content. Only payload of type Blob is supported.

MessageHeader

Attribute Type Description
key String Key of the header.
value
Blob Value of the header.

RecordMetaData

Attribute Type Mandatory Description Allowed Values / Examples
topic String (tick) Kafka topic the message has been sent to.
partition
Integer (tick) Topic partition the message has been sent to.
offset
Integer (error) Offset of the message within the partition.
recordId
Integer (error) The message ID as provided with the call, or as generated if it has not been specified.
keySize
Integer (tick) Actual size of the key in bytes.
valueSize
Integer (tick) Actual size of the value in bytes.
timestamp
DateTime (error) A processing timestamp (UTC). See timestampType for what the timestamp refers to.
timestampType


TimestampType (tick) Indicates what the timestamp refers to. NotAvailable Timestamp is unknown.
CreateTime Timestamp relates to message creation time as set by a Kafka broker.
LogAppendTime Timestamp relates to the time a message was appended to a Kafka log.
persistedStatus


PersistedStatus (tick) Status of the message. NotPersisted Message was never transmitted to the broker, or failed with an error indicating it was not written to the log.
Persisted Message was written to the log and acknowledged by the broker.
PossiblyPersisted Message was transmitted to broker, but no acknowledgement was received.


Related Documentation: