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

Apache Kafka Producer | ApacheKafkaProducer ProducerRecord

in

Provide the message and the target for the adapter to send the message to a Kafka topic.

recordMetaData

Apache Kafka Producer | ApacheKafkaProducer RecordMetaData

out

Returns some meta data about the processing the Kafka broker has done.


KafkaProducerAdapter Parameter Types

ProducerRecord


Attribute

Type

Mandatory

Description

topic

String

check mark

Specify the topic the message should be sent do.

partition

Integer

cross mark

Specify the partition the message should be send to.

key

Blob

cross mark

Specify a key the message should be filed to.

id

Integer

cross mark

Will be generated. We recommend not to set one manually.

headers

Array of

MessageHeader

cross mark

Specify headers if you want to provide additional information on the  message content for e.g. routing or filtering use cases.

value

Blob

cross mark

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

check mark

Kafka topic the message has been sent to.


partition

Integer

check mark

Topic partition the message has been sent to.


offset

Integer

cross mark

Offset of the message within the partition.


recordId

Integer

cross mark

The message ID as provided with the call, or as generated if it has not been specified.


keySize

Integer

check mark

Actual size of the key in bytes.


valueSize

Integer

check mark

Actual size of the value in bytes.


timestamp

DateTime

cross mark

A processing timestamp (UTC). See timestampType for what the timestamp refers to.


timestampType



TimestampType

check mark

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

check mark

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: