hellmarbecker / http-connector-for-apache-kafka

Apache Kafka Connect sink connector for HTTP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

{
  "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"
  }
}

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.

About

Apache Kafka Connect sink connector for HTTP

License:Apache License 2.0


Languages

Language:Java 100.0%