The documentation you are viewing is for Dapr v0.11 which is an older version of Dapr. For up-to-date documentation, see the latest version.

Kafka binding spec

Detailed documentation on the kafka binding component

Setup Dapr component

kind: Component
  name: <NAME>
  namespace: <NAMESPACE>
  type: bindings.kafka
  version: v1
  - name: topics # Optional. in use for input bindings
    value: topic1,topic2
  - name: brokers
    value: localhost:9092,localhost:9093
  - name: consumerGroup
    value: group1
  - name: publishTopic # Optional. in use for output bindings
    value: topic3
  - name: authRequired # Required. default: "true"
    value: "false"
   - name: saslUsername # Optional.
    value: "user"
   - name: saslPassword # Optional.
    value: "password"
  • topics is a comma separated string of topics for an input binding.
  • brokers is a comma separated string of kafka brokers.
  • consumerGroup is a kafka consumer group to listen on.
  • publishTopic is the topic to publish for an output binding.
  • authRequired determines whether to use SASL authentication or not.
  • saslUsername is the SASL username for authentication. Only used if authRequired is set to - "true".
  • saslPassword is the SASL password for authentication. Only used if authRequired is set to - "true".

Specifying a partition key

When invoking the Kafka binding, its possible to provide an optional partition key by using the metadata section in the request body.

The field name is partitionKey.


curl -X POST http://localhost:3500/v1.0/bindings/myKafka \
  -H "Content-Type: application/json" \
  -d '{
        "data": {
          "message": "Hi"
        "metadata": {
          "partitionKey": "key1"
        "operation": "create"

Output Binding Supported Operations

  • create
Last modified July 7, 2022: update nav bar v0.11 (#2633) (b309d3d)