Skip to content

Aiven-Open/http-connector-for-apache-kafka

Folders and files

NameName
Last commit message
Last commit date
Feb 29, 2024
Dec 15, 2023
Feb 26, 2025
Feb 29, 2024
Feb 26, 2025
Oct 17, 2019
Apr 27, 2022
Dec 10, 2021
Mar 27, 2024
Feb 9, 2024
Feb 26, 2025
Feb 26, 2025
Feb 29, 2024
Feb 29, 2024
Feb 29, 2024

Repository files navigation

Aiven's HTTP Sink Connector for Apache Kafka®

HTTP logo

This is a sink Apache Kafka Connect connector that sends Kafka records over HTTP.

Status

We consider the connector stable despite the major version is currently 0.

How it works

The connector uses the POST HTTP method to deliver records.

The connector supports:

  • authorization (static, OAuth2);
  • setting HTTP headers;
  • batching;
  • delivery retries.

An example of configuration (file connect-http-sink.json):

{
  "name": "http-sink-test",
  "config": {
    "connector.class": "io.aiven.kafka.connect.http.HttpSinkConnector",
    "topics.regex": "domain_a.*",
    "http.authorization.type": "none",
    "http.url": "http://httpmockserver:1080",
    "batching.enabled": true,
    "batch.max.size": 2,
    "tasks.max": "1",
    "key.converter": "org.apache.kafka.connect.storage.StringConverter",
    "value.converter": "org.apache.kafka.connect.json.JsonConverter"
  }
}

Then deploy the connector configuration against the Kafka Connect REST API with the following command:

curl -d @config/connect-http-sink.json -H "Content-Type: application/json" -X POST http://localhost:8083/connectors

See the configuration options for details.

Development

The connector supports Java 11 or later. It uses Gradle for building and automating tasks.

To build a distribution:

./gradlew clean check distTar distZip

(check build/distributions/ then).

Integration tests can be run with

./gradlew integrationTest

and require Docker installed.

Formatting

Checkstyle is used for verifying code formatting. For misc files Spotless is used.

Both are run on Gradle check target. Spotless formatting can be done with

./gradlew spotlessApply

License

This project is licensed under the Apache License, Version 2.0.

Trademark

Apache Kafka, Apache Kafka Connect are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.